Недавно я начал работать с Go для создания серверов, в моем текущем эксперименте я пытаюсь загрузить изображение на мой веб-сервер Go / mux с помощью fetch на React.js. Всякий раз, когда я загружаю изображение через форму, сервер не получает изображение и выдает ошибку «нет такого файла». Я использую API FormData JS для хранения и отправки изображения.
Вот код для клиента
handleInput = (e) => {
let formData = new FormData();
formData.append("myImage", e.target.files)
fetch("http://localhost:8080/api", {
method: 'POST',
body: formData,
})
.then((res) => {
console.log(res)
})
.then(() => {
console.log("Success")
})
.catch((error) => console.error(error))
}
Вот код для сервера
func api(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
fmt.Println("Connected -> api route")
fmt.Fprintf(w, "connected to api")
// ERROR HERE: no such file / failed to retrieve image
r.ParseMultipartForm(32 << 20)
file, _, err := r.FormFile("myImage")
if err != nil {
log.Print(err)
fmt.Println("failed to retrieve image")
w.WriteHeader(http.StatusBadRequest)
return
} else if err == nil {
fmt.Println("Success")
}
defer file.Close()
}
Я попытался добавить и удалить заголовки multipart / form-data, но ни один из них не сработал.
Я новичок в Go и все еще пытаюсь разобраться, любая помощь приветствуется!