[原创]Ajax UpLoadFile 多个大文件上传控件及应用范例
******作者语:这个控件很早就写了,但一直没有去完善***********************
******现在重新整理了一次,应该方便了许多,希望大家多多提意见*********
******该版本支持ASPNET1.0、2.0 ******************
******支持多个大文件队列传输传递*********************
******支持IE6、7/FF2.0、3.0 *************************************
****** ^(^]***************************
在线演示地址 文件大小已经被限制为3M,请大家不要乱传东西啊,空间很小滴,谢谢
[版本更新 uploadfile 1.15 2008-1-15 by lt]
重要修改下:
1、修改文件字符集支持,如果遇到编码问题请把<uploadctrl:ltuploadfilecontrol id="ltuploadfilecontrol" runat="server" Encode="gb2312" FilePath = "\\files\\lt1" FileMax=20000000></uploadctrl:ltuploadfilecontrol>。
2、FilePath和FileMax的全局问题已经修正,即使在同一个页面,多个上传控件实例之间的属性独立,例如:
<uploadctrl:ltuploadfilecontrol id="ltuploadfilecontrolA" runat="server" Encode="gb2312" FilePath = "\\files\\lt1" FileMax=20000000></uploadctrl:ltuploadfilecontrol>。
<uploadctrl:ltuploadfilecontrol id="ltuploadfilecontrolB" runat="server" Encode="gb2312" FilePath = "\\files\\lt3" FileMax=50000000></uploadctrl:ltuploadfilecontrol>,可以成立,修正了FilePath 后,文件路径探测攻击已经被堵塞了,可以放心。
下载uploadfile.DLL组件 【解压后覆盖范例项目BIN下旧版本即可】
1.在webconfig中添加以下内容:
注意:如果遇到URL重写,请确保上传控件的载入先于重写控件,即把ADD节点放在重写控件的ADD前面
<httpHandlers>
<add verb="*" path="uploadfile.aspx" type="LTAjaxUpFile.hc.UpFile,Uploadfile" />
<add verb="*" path="QueryLoadStatu.aspx" type="LTAjaxUpFile.Uploadfile.QueryLoadStatu,Uploadfile" />
</httpHandlers>
。
2、 FilePath属性中指定的路径通常如果不存在,控件可自动创建,但由于某些空间配置问题无法创建,所以最好能在空间自己手动建立该文件夹,这样就万无一失了。
3.参照default.aspx的例子
请在页面中注册本控件
<%@ Register TagPrefix="uploadctrl" Namespace="LTAjaxUpFile.Uploadfile" Assembly="Uploadfile"%>
2 {
3 if(!Page.IsPostBack)
4 {
5 //使用控件需要以下4个步骤,应该不烦琐吧
6
7 //ProcessBarBorderStyle控制进度条边框式样;不处理则用默认样式
8 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBorderStyle = "BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: black 1px solid; PADDING-LEFT: 1px; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BORDER-LEFT: black 1px solid; WIDTH: 200px; PADDING-TOP: 1px; BORDER-BOTTOM: black 1px solid";
9 //ProcessBarBorderStyle控制进度条颜色;不处理则用默认样式
10 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBlockColor = "red";
11 //FeedbackDivCSS控制实时反馈信息式样;不处理则用默认样式
12 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.FeedbackDivCSS = "feedbackstyle";
13
14 ltuploadfilecontrol.FilePath = "files\\lt1";//1.这里可以动态设置上传的目录路径,文件名由控件自动生成
15 //FILE控件的CSS控制class;不处理则用默认式样
16 ltuploadfilecontrol.FileBoxCSSClass = "upfilebuttonstyle";
17
18
19 Ltuploadfilecontrol2.FilePath = "files\\lt1";//1.这里可以动态设置上传的目录路径,文件名由控件自动生成
20 ltuploadfilecontrol.FileBoxCSSClass = "upfilebuttonstyle";
21
22
23 Ltuploadfilecontrol3.FilePath = "files\\lt1";//1.这里可以动态设置上传的目录路径,文件名由控件自动生成
24 ltuploadfilecontrol.FileBoxCSSClass = "upfilebuttonstyle";
25
26
27
28 //3.UploadOkEventHandler事件为文件上传完毕后处理回调
29 ltuploadfilecontrol._UploadOkEventHandler+=new LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.GetFilePath(userFileUpLoadFinishedEventHandler);
30 }
31 // 在此处放置用户代码以初始化页面
32 }
33
34 //4.定义一个事件处理过程加入到UploadOkEventHandler中
35 //事件在参数-servpath中返回服务器的文件保存绝对路径,-oldfilename则是原来的文件名字
36 private void userFileUpLoadFinishedEventHandler(string servpath,string oldfilename)
37 {
38 //可以在这里处理它们,比如放到数据库等,
39 FileStream fs = new FileStream(Server.MapPath("file.txt"),FileMode.Create,FileAccess.ReadWrite);
40 byte[] bs = Encoding.GetEncoding("gb2312").GetBytes(servpath);
41 byte[] bs1 = Encoding.GetEncoding("gb2312").GetBytes("\r\n"+oldfilename);
42 fs.Write(bs,0,bs.Length);
43 fs.Write(bs1,0,bs1.Length);
44 fs.Close();
45 }
最后:这个控件确实有点乱,也感谢大家的意见,我会慢慢将它完善
下载应用范例
[原创]Ajax UpLoadFile 多个大文件上传控件及应用范例相关推荐
- vue大文件上传控件选哪个好?
需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...
- 分享基于silverlight的一个大文件上传控件
虽然codeplex已经有一些多文件,带进度条的上传控件,但是觉得都不是很好用,所以基于上面的控件重新设计了一个上传控件,更好的交互,属性绑定和管理文件. 1. 客户端使用: <mycontro ...
- 大文件上传控件webupload插件
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...
- vue+大文件上传控件
总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...
- java文件上传控件_java实现大文件上传控件
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- html标签手册 360doc,基于AJAX的文件上传控件NetAdvantage for jQuery
NetAdvantage for jQuery 是一款全新的轻量级.高性能的jQuery控件,包含了在线的Video播放控件,基于AJAX的文件上传控件,快速且强大的表格控件,以及创建和编辑Word. ...
- angularjs php上传文件,学习使用AngularJS文件上传控件_AngularJS
前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件.并且规定文件格式和文件大小.因为前端框架使用angular,且不想因为一个上传功能又引入一个jque ...
- JQuery文件上传控件Uploadify文档
Uploadify是一个基于JQuery的文件上传控件,支持ajax无刷新上传,比较好用,现在用着一个不爽的地方是--每个版本的属性名和事件名.方法名都有一些不一样,这在遇到问题,查资料的时候会比较麻 ...
- angularjs java 文件上传_学习使用AngularJS文件上传控件
前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件.并且规定文件格式和文件大小.因为前端框架使用angular,且不想因为一个上传功能又引入一个jque ...
最新文章
- 如何理解 JAVA 中的 volatile 关键字
- 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
- Android开发——异步任务中Activity销毁时的问题
- 公式 有效值_纯电阻电路电功率公式
- JS两个字符串日期相减得出天数
- BDS-HA:构建高可用、低延迟的HBase服务
- python2/3 模块gmpy2在linux下安装
- 功率曲线k值_特性曲线在参数计算中的应用
- 早高峰共享单车潮汐点的群智优化(想法)
- zh-cn en-uk、zh-tw表示语言(文化)代码与国家地区对照表(最全的各国地区对照表)...
- React 高级应用 -- 错误边界 Error Boundaries
- 怎么用python找资料_python去哪里找资源教程学习?
- 清华姚班和100个“张小龙” | 中国AI天才养成计划
- 敏捷开发(Agile)
- Linux查看目录busy,linux umount 提示"device is busy" 终极解决
- 店铺DRS评分这样来做|盛天海电商
- ubuntu18.04安装搜狗输入法之后无法使用的问题
- CSS基础 | (1) CSS是什么
- Debian没有reboot命令
- 2002 计算球体体积
热门文章
- oracle 多表查询_【Oracle】多表查询
- js配置打印机属性_你还在为如何设置打印机而烦恼吗?一招教你快速共享打印机!...
- 计算机网络前三章试题,计算机网络前三章复习试题PPT课件.ppt
- html游戏代码_新手使用的Mac系统的简易代码编辑器推荐
- update mysql.user set password_使用update命令来修改Mysql的root密码
- mqtt客户端工具_如何在 Rust 中使用 MQTT
- mybatis list为入参_Mybatis进阶学习
- Python 学习之旅1
- java sendredirect 参数_使用response.sendRedirect()传递隐藏参数
- python中的模块_python3.0中重载模块