【发布时间】:2015-11-22 14:48:25
【问题描述】:
我正在使用 Jquery.ajax 向 WebApi 发送文件 我有一个接收文件的 ASP.NET 方法
[HttpPost]
[ActionName("import")]
public int Import([FromBody]IFormFile upload)
在 Import 方法中可以保存 Request.Body 并且看起来是正确的:
------WebKitFormBoundaryZLHvtGDqa5zp0JHB Content-Disposition: form-data;名称="上传";文件名="test.b3d" 内容类型:application/octet-stream
你好世界内容!
但上传变量始终为空!我应该如何修复“上传”变量中的文件内容?
PS:我使用此代码将文件发送到服务器:
// Create a formdata object and add the files
var data = new FormData();
data.append("upload", file.files[0]);
jQuery.ajax({
type: "POST",
url: "/api/designer/import",
contentType: "application/json",
dataType: 'json',
processData: false,
data: data
})
Chrome 中的请求标头:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8,ru;q=0.6
Connection:keep-alive
Content-Length:28855
Content-Type:application/x-www-form-urlencoded
Host:localhost:64867
Origin:http://localhost:64867
Referer:http://localhost:64867/
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
X-Requested-With:XMLHttpRequest
【问题讨论】:
-
您能分享一下请求标头在 chrome 中的样子吗?
-
是的,我已将其添加到问题中。
标签: asp.net-web-api2 asp.net-core