Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

异步上传文件

来源: wjbaiverson 分享至:
html代码:
<head>  //所需要的两个JS
<scriptsrc="jquery-1.4.2.min.js"type="text/javascript"></script>
<scriptsrc="ajaxfileupload.js"type="text/javascript"></script>
</head>
<img alt="" src=""id="img"   style="display: none"/>
<input id="fup" name="fup"type="file" />
<input id="btnUp" type="button" value="上传"onclick="ajaxFileUploads();"/>


下载:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js

JS代码:
function ajaxFileUploads()
{
$.ajaxFileUpload(
           {
           
url:'Ajax_fileupload.aspx,
         secureuri:false,
         fileElementId:'fup',            
         dataType: 'json',                    
         success: function (data,status)
         {
             if(data.err=="")
              {
              document.getElementByIdx_x("img").style.display="block";

              document.getElementByIdx_x("img").src=data.msg;
              }
              else
              {
              $('#sperr').text(data.err);
              }
         },
         error: function (data, status,e)
         {
             $('#sperr').text("上传失败!");
         }
       });
}

主要参数说明:
1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php
2,fileElementId表示文件域ID,如上:fileToUpload
3,secureuri是否启用安全提交,默认为false
4,dataType数据数据,一般选json,javascript的原生态
5,success提交成功后处理函数
6,error提交失败处理函数

Ajax_fileupload.aspx页面:
protected void Page_Load(object sender,EventArgs e)
{
     HttpFileCollection files =System.Web.HttpContext.Current.Request.Files;
     HttpPostedFile file = files["fup"];
      if(file.ContentLength <=Convert.ToInt32(SizeFunction() * 1024 *1024))   //SizeFunction()获得文件限制大小可以自己写在配置文件里,限制上传的大小
      {
       if(IsValidFileType(file.FileName)) //验证文件类型
       {
         string picPaht =Server.MapPath(FileFunciton());  //FileFunction()   文件保存的路径   这里的路径,名字  随自己要求设置,我这里最简单的日期了.
         Random rd = newRandom();
         string name =DateTime.Now.ToString("yyyyMMddhhmmssfff") + rd.Next(1000) +GetExtension(file.FileName);
         string strNewPath =GetSaveFilePath(picPaht) + name;
         file.SaveAs(strNewPath);
         Response.Write("{msg:'" +dal.ImgUrl() + name + "',err:''}");
       }
       else
       {
        Response.Write("{msg:'',err:'类型错误!'}");
       }
      }
      else
      {
      Response.Write("{msg:'',err:'大小错误!'}");
      }
}

///<summary>
/// 验证文件类型
/// </summary>
/// <paramname="FileName"></param>
///<returns></returns>
private bool IsValidFileType(string FileName)
{
      string[]_AcceptedFileTypes = TypeFunction().Split('|'); //TypeFunction()获得文件限制类型 这里我是以"|"分隔, 获得数组, 循环验证的
      string ext =FileName.Substring(FileName.LastIndexOf(".") + 1, FileName.Length -FileName.LastIndexOf(".") - 1);
      for (int i =0; i < _AcceptedFileTypes.Length; i++)
      {
       if (ext ==_AcceptedFileTypes)
       {
         return true;
       }
      }
      returnfalse;
}


///<summary>
/// 获得文件扩展名
/// </summary>
/// <paramname="fileName"></param>
///<returns></returns>
private string GetExtension(string fileName)
{
      try
      {
       int startPos =fileName.LastIndexOf(".");
       string ext =fileName.Substring(startPos, fileName.Length - startPos);
       return ext;
      }
      catch
      {
       return string.Empty;
      }
}


///<summary>
/// 创


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史