h5的formData 上傳文件及.net後臺
阿新 • • 發佈:2018-02-03
ack ons 先來 目錄 地址 roc onload pen console
先來前端的代碼:
html 代碼:
<input type="file" id="files" value="" multiple/>
js代碼:
function init() { var ele_files = document.querySelector("#files"); ele_files.addEventListener("change", function () {var files = ele_files.files; var form = new FormData(); for (var i = 0; i < files.length; i++) { form.append("files"+i, files[i]); } $ajax("/ashx/handle.ashx", "post", form, function (data) { console.log(data); }); }, false); } function $ajax(url,method,data,callback) { xhr = new XMLHttpRequest(); // XMLHttpRequest 對象 xhr.open(method, url, true); //post方式,url為服務器請求地址,true 該參數規定請求是否異步處理。xhr.responseType = "";//接收的數據類型 xhr.onload = function () { if ((this.status >= 200 && this.status < 300) || this.status == 304) { callback(this.response); } }; //請求完成 xhr.send(data); //開始上傳,發送form數據 }
.net後臺代碼,接收文件後並保存在c:/wsz/pic/ 文件夾下
public void ProcessRequest(HttpContext context) { HttpFileCollection hfc= context.Request.Files; for (var i = 0; i < hfc.Count; i++) { HttpPostedFile hpf = hfc[i]; //文件保存目錄路徑 String savePath = "c:/wsz/pic/"; String filePath = savePath + hpf.FileName; hpf.SaveAs(filePath); } }
h5的formData 上傳文件及.net後臺