gpt4 book ai didi

vue.js - 如何使用VueJS将图像上传到Go服务器

转载 作者:行者123 更新时间:2023-12-01 21:09:34 24 4
gpt4 key购买 nike

我正在尝试将图像从VueJS上传到Go服务器,但无法使其正常工作。

let form = new FormData();
if (this.styling.file !== undefined) {
form.append('logo', this.styling.file);
}
form.append('something1', this.something.one);
form.append('something2', this.something.two);

this.$http.post(process.env.VUE_APP_API_URL + '/store', form).then(() => {
// ...
})
然后,在Go中,我可以成功保存在表单数据中传递的所有详细信息。唯一不起作用的是我上传的图像。
当我这样做时:
form := request.MultipartForm
defer form.RemoveAll()

file, _, err := request.FormFile("logo")
if err != nil {
fmt.Println(err)
writer.WriteHeader(http.StatusBadRequest)
return
}

img, _, err := image.Decode(file)
if err != nil {
fmt.Println(err)
writer.WriteHeader(http.StatusBadRequest)
return
}
它显示了一个错误:图片:未知格式
我在网上尝试了多个教程,但是到目前为止,没有一个给我一种通过Go将上传的图片存储在服务器上的方法:
我还尝试了以下方法,导致出现错误“打开test.jpg:系统找不到文件”。
form := request.MultipartForm
defer form.RemoveAll()

in, header, err := request.FormFile("logo")
if err != nil {
fmt.Println(err)
writer.WriteHeader(http.StatusBadRequest)
return
}
defer in.Close()

out, err := os.OpenFile(header.Filename, os.O_WRONLY, 0644)
if err != nil {
fmt.Println(err)
writer.WriteHeader(http.StatusBadRequest)
return
}
defer out.Close()
io.Copy(out, in)

最佳答案

经过一番搜索和学习,我找到了解决方案,对于我来说,这很简单。

out, err := os.OpenFile(header.Filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
只需添加一个追加并创建。

关于vue.js - 如何使用VueJS将图像上传到Go服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63189470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com