をファイルを送信サーバー...
私は
router.POST("/upload", UploadFile)
アップロード機能を呼び出すために、このラインを持っており、これは私のアップロード機能である:
func UploadFile(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
io.WriteString(w, "Upload files\n")
postFile(r.Form.Get("file"), "/uploads")
}
func postFile(filename string, targetUrl string) error {
bodyBuf := &bytes.Buffer{}
bodyWriter := multipart.NewWriter(bodyBuf)
// this step is very important
fileWriter, err := bodyWriter.CreateFormFile("file", filename)
if err != nil {
fmt.Println("error writing to buffer")
return err
}
// open file handle
fh, err := os.Open(filename)
if err != nil {
fmt.Println("error opening file")
return err
}
//iocopy
_, err = io.Copy(fileWriter, fh)
if err != nil {
panic(err)
}
bodyWriter.FormDataContentType()
bodyWriter.Close()
return err
}
私の/upload/
ディレクトリにアップロードされたファイルが見つかりません...
私は間違っていますか?
P.私は2番目のエラー=>error opening file
を取得していますので、ファイルのアップロードやファイルの取得に間違いがありますか?UploadFile
機能ですか?はいの場合、私はこの機能からpostFile
機能にファイルを取得したり取得したりできますか?
https://golang.org/pkg/os/#OpenFileでは、他の機能よりも正確なモード管理を行うことができます。 – bayrinat
でも、サーバーに送信するファイルをどのように取得できますか?私はファイルを作成することができますが、それは私が送信しているものと同じではありません。 – vladimir
@FredrikMårlindthanks !!!!出来た!!!! – vladimir