在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用Ajax无刷新上传文件是当前比较流行的功能。借助JQuery强大的插件,现在已经可以很容易了。 首先导入js文件jquery.ajaxfileupload.js。此插件的原理是在文档中创建iframe和form然后在将文件上传到服务器。
代码
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head id="Head1" runat="server"> 3 <title>ajax上传文件</title> 4 <script type="text/javascript" src="/js/jquery.js"></script> 5 <script type="text/javascript" src="/js/jquery.ajaxfileupload.js"></script> 6 <script type="text/javascript"> 7 $(function(){ 8 $('#fup').change(function(){ 9 upload(); 10 }); 11 }); 12 13 function upload(){ 14 $.ajaxFileUpload( 15 { 16 url : '/ajaxUpload.aspx?random=' + Math.random(), 17 secureuri : false, 18 fileElementId : 'fup', 19 dataType : 'json', 20 success: function (data, status) 21 { 22 if(data.status == 'success') 23 { 24 $('#tmp').attr('src', data.msg.Origin); 25 $('#tb, #hf').val(data.msg.Origin); 26 } 27 else 28 { 29 alert(data.msg); 30 } 31 }, 32 error: function (data, status, e) 33 { 34 alert(data.msg); 35 alert(status); 36 alert(e); 37 } 38 }); 39 40 $('#fup').change(function(){ 41 upload(); 42 43 }); 44 } 45 </script> 46 </head> 47 <body> 48 <form id="form1" runat="server"> 49 <div> 50 <asp:FileUpload ID="fup" runat="server" /> 51 <img id="tmp" /> 52 <asp:TextBox ID="tb" runat="server"></asp:TextBox> 53 <asp:HiddenField ID="hf" runat="server" /> 54 </div> 55 </form> 56 </body> 57 </html>
上传文件代码:
代码
1 protected void Page_Load(object sender, EventArgs e)
2 { 3 HttpFileCollection files = Request.Files; 4 if (files != null && files.Count > 0) 5 { 6 HttpPostedFile file = files[0]; 7 8 string tmpPath = Server.MapPath("/Upload/"); 9 string fileName = Path.GetFileName(file.FileName); 10 try 11 { 12 file.SaveAs(tmpPath + fileName); 13 Response.Write(@"{ 14 status : 'success', 15 msg: { 16 Origin : '" + "/upload/" + fileName + @"' 17 } 18 }"); 19 } 20 catch (Exception ex) 21 { 22 Response.Write(@"{ 23 status : 'error', 24 msg : '" + ex.Message + @"' 25 }"); 26 Response.End(); 27 } 28 } 29 }
|
请发表评论