var fd = new FormData();
fd.append("FileData",document.getElementById('upload_file').files);
var xhr = XMLHttpRequest();
//xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.onreadystatechange=mycallback;
xhr.open("POST", url);
xhr.setRequestHeader("X-Requested-With","XMLHttpHequest");
xhr.setRequestHeader('Content-Type','multipart/form-data;boundary=---------------------------' + new Date().getTime());
xhr.send(fd);
不知道这些写是不是对的,但我传不了文到后台去
string sPath = context.Server.MapPath(@"../../UploadFile");
for (int i = 0; i < context.Request.Files.Count;i++ )
{
HttpPostedFile file = context.Request.Files[i];
file.SaveAs(sPath + "\\" + file.FileName);
}
后台调试时文件数总是0
前台调试时感觉 fd.append("FileData",document.getElementById('upload_file').files);
这句话没用添加数据进去一样
ie10 firfox22都是一样的
fd.append("FileData","sdfasd");连传文本都不行
还有一个我选了3个文,想取消其中一个该怎么做啊
------解决方案--------------------
fd.append("FileData",document.getElementById('upload_file').files[0]);
html5 ajax上传文件asp.net示例
------解决方案--------------------
先用ff调试一下,看看前台有没有传递数据
在百度一下Content-Type=multipart/form-data,设置了这个后不能直接得到文本值得
这个我前段时间做过,要做一些处理