öffnen _rels/.rels: permission denied golang

Ich versuchte, entpacken ein .docx-Datei. Erste Datei mit dem Namen „[Content_Types].xml“ extrahiert wurden. Aber dann traf ich eine Fehlermeldung wie folgt:

open frontend/uploads/doc_data/_rels/.rels: permission denied

Wie können wir für diese Berechtigung?

Der unzip-Funktion, die ich benutze ist wie folgt:

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
}
InformationsquelleAutor Arjun Ajith | 2016-03-17



One Reply
  1. 2

    Versuchen Sie es mit den Chmod-Funktion des os-Paket zum setzen der Datei-Berechtigungen auf etwas, das Sie tun, was Sie wollen.

     err := os.Chmod("file.txt", 0777)
     if err != nil {
         fmt.Println(err)
     }

    weitere Infos hier : https://socketloop.com/tutorials/golang-change-file-read-or-write-permission-example

    • Danke. Das problem war nicht mit der Datei war es mit der Ordner Erstellung. Ich habe Ihre Anweisungen zum festlegen von Berechtigungen für den Ordner ein und es löste das Problem.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.