没有Form的情况下,关于AJax异步上传文件处理
以下分别是页面HTML代码,js请求代码,java后台接收代码:
1 文件:<input id="file" type="file" name="file"/> 2 <button id="upload">上传文件</button>
1 $(function () { 2 $("#upload").click(function(){ 3 var formData = new FormData();//创建FormData对象,将所需的信息封装到内部,以键值对的方式 4 formData.append('file', $('#file')[0].files[0]);//参数封装格式,可以是文件,亦可以是普通的字符串 5 6 $.ajax({ 7 url: "", 8 type: "POST", 9 data: formData, 10 /** 11 *必须false才会自动加上正确的Content-Type 12 */ 13 contentType: false, 14 /** 15 * 必须false才会避开jQuery对 formdata 的默认处理 16 * XMLHttpRequest会对 formdata 进行正确的处理 17 */ 18 processData: false, 19 success: function (data) { 20 alert("success"); 21 22 }, 23 error: function () { 24 alert("上传失败!"); 25 26 } 27 }); 28 }) 29 });
1 public string GetfromInfo(){ 2 string ID = Request.Form(key);//通过封装的key获取画面上的信息,一般参数 3 HttpPostedFileBase file = Request.Files[key];//获取画面上文件的信息 4 ......... 5 }