Soh*_*deh 5 javascript ajax asp.net-mvc jquery
我想将图像文件发送到控制器,但该文件HttpPostedFileBase为空,我进入image: image外部 JSON.stringify({})但不起作用。另外,我改变contentType并看到这个问题并使用它的答案,但我的问题没有解决。
var file_data = $("#Image").prop("files")[0];
var image = new FormData();
image.append("file", file_data);
$.ajax({
url: '@postUrl',
method: "POST",
contentType: 'application/json',
data:
JSON.stringify({
image: image,
isFirst : true,
ExternalProjects: ExternalProjects,
// more data
})
})
Run Code Online (Sandbox Code Playgroud)
您不必将FormData实例放入对象中并将其字符串化。您执行相反的操作:将文件和其他数据放入 FormData 实例中。
正如您链接到的答案所说,将contentType和processData选项更改为 false 以告诉 jQuery 不要处理数据本身。
var file_data = $("#Image").prop("files")[0];
var fd = new FormData();
fd.append("file", file_data);
fd.append("isFirst", true);
fd.append("ExternalProjects", ExternalProjects);
$.ajax({
url: '@postUrl',
method: "POST",
contentType: false,
processData: false,
data:fd
});
Run Code Online (Sandbox Code Playgroud)
您的数据将位于相应的字段中:file、isFirst和ExternalProjects
| 归档时间: |
|
| 查看次数: |
22982 次 |
| 最近记录: |