你的位置:首页 > 软件开发 > Java > 多文件无刷新上传(一)

多文件无刷新上传(一)

发布时间:2015-03-14 00:00:30
本代码实现图片文件上传并生成缩略图以及文件安全效验等。多文件上传效果只兼容 IE10、firefox、chrome 等浏览器,其他浏览器只能单文件上传。 事件: 开发代码中一般使用传统的FileUpload控件进行单个文件上传,选择图片文件时又无法达到实时预 ...

多文件无刷新上传(一)

本代码实现图片文件上传并生成缩略图以及文件安全效验等。

多文件上传效果只兼容  IE10、firefox、chrome浏览器,其他浏览器只能单文件上传。

 

事件:

   开发代码中一般使用传统的FileUpload控件进行单个文件上传,选择图片文件时又无法达到实时预览的效果,而且无法实施对多件文件一次性上传。

   实现图片预览在第二篇中详细描述,请关注。

 

代码架构图:

多文件无刷新上传(一)

--- AjaxUploadFileContral

     ---- cs

           ----ajax.aspx //ajax页面

           ----Encryption.cs   //加解密操作基类

           ----JSONHelper.cs   //json操作基类

           ----Result.cs   //保存对象类

           ----UploadFileClass.cs   //文件上传操作基类

      ---- css

           ----css.css

      ---- img  //资源图片

      ---- js

           ----jquery-1.4.2.min.js

           ----uploadfile.js  //文件上传js类

     --- temp  //图片临时文件夹

     --- ajaxUF.ascx //文件上传控件

     --- UploadFile.aspx //文件接收页面

---- Image //站点图片文件夹

---- Default.aspx  //主页面,测试

---- Web.config

 

初步效果图(火狐下):

多文件无刷新上传(一)

 

实施逻辑:

   1、主界面使用框架嵌套文件接收页面,通过File控件选择多个文件后,将文件Post提交至文件接收页面。

   2、接收页面将传入的文件图片保存至站点临时目录,保存完成后读取临时目录中的图片进行预览以及保存(预览图片为缩略图)。

   3、删除操作:将选中的图片及缩略图从临时目录中删除。

   4、保存:将选中的图片及缩略图全部移动到站点指定图片目录。

   5、取消上传:删除临时目录里的所有文件。

 

说明:

    第2步骤中需同时生成图片缩略图以及效验文件安全。

 

 

主要代码模块:

     文件效验模块

 5   /// <summary> 6   /// 效验文件安全性 7   /// 将效验文件正确格式,即使更改文件类型及扩展名也无法通过此效验方法 8   /// </summary> 9   public static Result checkFile(string FilePath)10   {11     try12     {13       FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read);14       BinaryReader r = new BinaryReader(fs);15       string fileclass = "";16       byte buffer = r.ReadByte();17       fileclass = buffer.ToString();18       buffer = r.ReadByte();19       fileclass += buffer.ToString();20       r.Close();21       fs.Close();22 23       //文件类型错误,将删除文件24       bool falg = false;25       string[] FileType = new string[] { "255216", "7173", "13780" };26       //数字说明,只针对目前主流图片格式:27       //255216 代表 .jpg文件28       //13780 代表 .png文件29       //7173 代表 .gif文件30       foreach (string n in FileType)31       {32         if (fileclass == n)33         {34           falg = true;35           break;36         }37       }38       if (!falg)39       {40         File.Delete(FilePath);41         return new Result(-1,"上传文件为非法文件,请谨慎上传。");42       }43       return new Result(1,"true");44     }45     catch (Exception ex)46     {47       throw ex;48     }49   }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:多文件无刷新上传(一)

关键词:上传

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。