Asp.net使用ajax无刷新上传文件(附源码)

使用Ajax无刷新上传文件是当前比较流行的功能。借助JQuery强大的插件,现在已经可以很容易了。

首先导入js文件jquery.ajaxfileupload.js。此插件的原理是在文档中创建iframe和form然后在将文件上传到服务器。

 

ExpandedBlockStart.gif 代码
 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 >

 

上传文件代码:

 

ExpandedBlockStart.gif 代码
 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      }

 

 

Ajax无刷新上传文件示例源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值