Я должен взять файл от внешнего пользователя как сообщение и загрузить этот файл в 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))
})
Пожалуйста, подскажите, где я ошибаюсь.если поделиться примером кода, это будет легко понять.