vue.js - 错误多部分:NextPart:http:关闭正文上的无效读取
问题描述
当我从带有golang后端的nuxt js上传时仍然错误
multipart: NextPart: http: invalid Read on closed Body 这是我的代码:
func (r *Request) UploadFile(ctx *kaos.Context, payload string) (string, error) {
res := ctx.Data().Get("http-request", nil).(*http.Request)
if res.Method != "POST" {
return "", errors.New("must post")
}
if err := res.ParseMultipartForm(700); err != nil {
return "", err
}
alias := res.FormValue("alias")
uploadedFile, handler, err := res.FormFile("file")
if err != nil {
return "", err
}
defer uploadedFile.Close()
dir, err := os.Getwd()
if err != nil {
return "", err
}
filename := handler.Filename
if alias != "" {
filename = fmt.Sprintf("%s%s", alias, filepath.Ext(handler.Filename))
}
fileLocation := filepath.Join(dir, "file", "upload", filename)
targetFile, err := os.OpenFile(fileLocation, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil {
return "", err
}
defer targetFile.Close()
if _, err := io.Copy(targetFile, uploadedFile); err != nil {
return "", err
}
return "", nil
}
这是vue html代码
<template v-slot:additional_input><input type="file" accept="image/x-png" @change="onFileChange($event)" id="file-input"></template>
这是 nuxt js 代码:
onFileChange(e) {
var files = e.target.files[0]
this.files = files
var formData = new FormData();
formData.append("file", this.files, this.files.name);
console.log("oooo",this.files[0])
this.$axios.post('/api/request/uploadfile',formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
},
解决方案
推荐阅读
- javascript - 标签内的 HTML 加载器
- sql - SQL Union 和 Group By(按特定值分组但显示全部)
- r - R:如何使用 apply 循环遍历 data.frame 中的变量
- javascript - Javascript 将希伯来语单词和标点符号包装在单独的跨度标签中
- c++ - 如何从具有图像的按钮中检索图像源文件名?
- javascript - 客户端路由 vanilla JS
- ios - Iphone 5/Iphone 6/Iphone 7/Iphone X 的视口大小是多少
- datatables - jQuery 无法捕获 Laravel 中的 DataTable 按钮类
- ios - 如何在集合单元格中重绘动态大小的 UIView
- python - SelectKBest(chi2, k=5).fit(x_train, y_train) 如何计算得分?