打开 _rels/.rels: 权限被拒绝 golang

我试图解压缩 .docx 文件。已提取名称为“[Content_Types].xml”的第一个文件。但是后来我遇到了如下错误:


打开前端/上传/doc_data/_rels/.rels:权限被拒绝


我们如何为此设置权限?


我使用的解压功能如下:


func Unzip(src, dest string) error {

   r, err := zip.OpenReader(src)

   if err != nil {

       return err

   }

   defer r.Close()

   for _, f := range r.File {

       rc, err := f.Open()

       if err != nil {

           return err

       }

       defer rc.Close()

       fpath := filepath.Join(dest, f.Name)

       if f.FileInfo().IsDir() {

           os.MkdirAll(fpath, f.Mode())

       } else {

           var fdir string

           if lastIndex := strings.LastIndex(fpath,string(os.PathSeparator)); lastIndex > -1 {

               fdir = fpath[:lastIndex]

           }

           err = os.MkdirAll(fdir, f.Mode())

           if err != nil {

               log.Fatal(err)

               return err

           }

           f, err := os.OpenFile(

               fpath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())

           if err != nil {

               return err

           }

           defer f.Close()

           _, err = io.Copy(f, rc)

           if err != nil {

               return err

           }

       }

   }

   return nil

}


慕码人2483693
浏览 264回答 1
1回答

潇潇雨雨

尝试使用 os 包的 Chmod 功能将文件权限设置为允许您做您想做的事情。 err := os.Chmod("file.txt", 0777) if err != nil {     fmt.Println(err) }更多信息:https : //socketloop.com/tutorials/golang-change-file-read-or-write-permission-example
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go