我GoLang语言是新的,我要创建文件上传REST API的WebServer ...GoLang通过POST请求发送文件
所以我通过POST请求停留在主要功能(文件上传)到我的服务器...
我这行调用上传功能
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/
那么我做错了什么?
error opening fileUploadFilepostFile