Posted in Javascript onMay 19, 2015
在服务器端做文件上传的过程中,如果使用web服务器短端的上传控件去上传文件的话,会导致页面刷新一次,这样对用户的体验就不是很友好了。ajaxfileupload.js是一款jQuery的异步上传文件插件,使用简单且容易上手。
前置条件:ajaxfileupload.js文件,百度下载一个就行。
JS引用:
<script src="/Content/JQueryJS/jquery-2.1.1.js"></script> <script src="/Content/Js/ajaxfileupload.js"></script>
html代码:
<input id="fileToUpload" type="file" name="fileToUpload">
JS代码:
function saveCInfo() { var filename = document.getElementById("fileToUpload").value; if (filename != "") { $.ajaxFileUpload({ url: '../Order/OrderExec.ashx?oprMode=fileUpload' + "&filename=" + filename + "&billno=" + billno + "&companyname=" + companyname, secureuri: false, fileElementId: 'fileToUpload',//上传控件ID //dataType: 'json', error: function () { alert('error'); }, success: function (datax) { if (datax != "") { msgShow('系统提示', '上传成功!', 'info'); } else { msgShow('系统提示', '上传失败!', 'info'); } } }); } else { $.messager.alert('提示', '请选择上传文件', 'info'); } }
后台代码:
public void FileUpload(HttpContext context) { try { context.Response.ContentType = "text/html"; string companyname = context.Request.Params["companyname"]; string billno = context.Request.Params["billno"]; string filename = context.Request.Params["filename"]; string name = companyname + "_" + billno + "_" + filename; HttpFileCollection files = HttpContext.Current.Request.Files; //指定上传文件在服务器上的保存路径 string savePath = context.Server.MapPath("~/upload/"); //检查服务器上是否存在这个物理路径,如果不存在则创建 if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + name;//上传文件路径 files[0].SaveAs(savePath);//保存文件 context.Response.Write(savePath); } catch (Exception ex) { context.Response.Write("FileUpload: " + ex.Message); } }
JQuery插件ajaxfileupload.js异步上传文件实例
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@