我必须从前端用户那里获取文件作为帖子,然后将该文件上传到Egnyte。 我正在使用egnyte api上传。为此,我必须先将文件上传到某个目录,然后从该目录上传到Egnyte api。相反,我想跳过将文件上传到某个目录,直接将其传递给Egnyte api。
代码
v1.POST("/upload", func(c *gin.Context) {
// single file
file, ferr := c.FormFile("file")
if ferr != nil {
panic(ferr)
}
path, _ := os.Getwd()
path += "/storage/"+file.Filename
//c.SaveUploadedFile(file, path)
//data, fExistsErr := os.Open(path)
url := "https://demo.egnyte.com/pubapi/v1/fs-content/Shared/Staging/test/"+file.Filename
//req, _ := http.NewRequest("POST", url, data)
req, _ := http.NewRequest("POST", url, file) //Here it gives error
req.Header.Add("Authorization", "Bearer XXXXXXXXXXXX")
req.Header.Add("content-type", "text/plain")
req.Header.Add("name", "file")
req.Header.Add("Content-Disposition", "form-data")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res.StatusCode)
fmt.Println(http.StatusOK)
fmt.Println(string(body))
c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename))
})
请向我建议我要去哪里错了。 如果共享示例代码,将很容易理解。