【发布时间】:2018-08-27 13:56:32
【问题描述】:
我正在尝试使用 vue.js 和 axios 上传多个文件/图像。我的后端是 ASP.NET Core。但问题是,每当我在请求方法中放置断点时,我的控制器中总是会得到一个 Count = 0 。
这是我的简单 HTML 和我的代码:
HTML
<div id="app">
<form enctype="multipart/form-data">
<input type="file" name="file" multiple="" v-on:change="fileChange($event.target.files)"/>
<button type="button" @@click="upload()">Upload</button>
</form>
</div>
我的 JS
import axios from "axios"
var app= new Vue({
el: "#app",
data: {
files: new FormData()
},
methods:{
fileChange(fileList) {
this.files.append("file", fileList[0], fileList[0].name);
},
upload() {
const files = this.files;
axios.post(`/MyController/Upload`, files,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(response => {
alert(response.data);
}).catch(error => {
console.log(error);
});
},
}
我的控制器
public IActionResult Upload(IList<IFormFile> files)
{
return Json("Hey");
}
有什么帮助吗?
【问题讨论】:
-
这是什么
@@click? -
在 ASP.NET Core Razor 中,它相当于@。只是 Razor 的约定,所以我们使用 @@ 而不是 @。但它的工作原理
-
尝试检查浏览器网络是否正确发送了请求并带有相应的文件数据。
-
我也面临同样的问题。除了下面答案中的链接之外还有什么运气吗?
标签: file-upload vue.js asp.net-core-mvc axios