异步发送文件到服务器
本文关键字:服务器 文件 异步 | 更新日期: 2023-09-27 18:05:08
浏览器端:js函数
function insertDocFile(file) {
var id=@Model.Id;
var formdata = new FormData();
formdata.append(file.name, file);
if (window.XMLHttpRequest) {
var xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
return false;
}
}
}
else {
return false;
}
xhr.onload = function () {
var data = JSON.parse(this.responseText);
};
xhr.open('post', '/Hike/UploadBlog/' + id);
xhr.send(formdata);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
...
}
}
}
输入参数'file'是要发送到服务器的文件。服务器端:
[HttpPost]
[Authorize]
public ActionResult UploadBlog(int id)
{
HttpPostedFileBase fileData = Request.Files[0];
return View()
}
但请求。文件数为0。
文件没有发送到服务器。几周前,这段代码运行得很好。但有一次它停了下来。我没有做任何改变。可能是由于这个错误。这种行为的原因是什么?
我解决了这个问题。我发送的是大于70mb的。doc文件,这样的文件不会这样发送。有必要在客户端进行划分,在服务器端进行发送部件和组装。
谢谢你的帮助。