先来前端的代码:
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后台
原文地址:https://www.cnblogs.com/wsz168/p/8409247.html