经过长时间的搜索,我得到了用于通过jQuery-File-Upload和asp.net Web API(MVC5)上传文件的示例(Async File Uploads in MVC)。
jQuery-File-Upload插件的主要思想是将文件分成多个部分,并根据单独的请求将每个部分发送到服务器,以获取上传进度状态。
如何将所有这些部分收集为一个部分,并在完成所有部分的上传后将其保存?
[HttpGet]
[HttpPost]
public HttpResponseMessage Upload()
{
httppostedfile file = HttpContext.Current.Request.Files[0];
//Issue: This will save only the last request only(last part of file)
var fileinfo = HostingEnvironment.MapPath(@"~/Upload/" + file.FileName);
file.SaveAs(fileinfo);
HttpContext.Current.response.contenttype = "text/plain";
var serializer = new system.web.Script.Serialization.JavaScriptSerializer();
var result = new { name = file.FileName };
HttpContext.Current.Response.Write(serializer.Serialize(result));
HttpContext.Current.Response.StatusCode = 200;
return new HttpResponseMessage(HttpStatusCode.OK);
}
我有这个话题webapi-file-uploading 而不是使用file.SaveAs,我尝试使用Request.Content.ReadAsMultipartAsync(),但是它不起作用