前些天在javaeye第一次发了个帖子,给出了我的批量上传文件的解决方案,有朋友建议我封装起来,今天休假在家,so,就今天吧。
改动需求:
1.参数化: 将上传的url,param,文件类型,文件大小限制,文件数量限制,是否显示单个文件进度条,是否显示多个文件进度条,上传时等候文本的内容参数化。
2.添加返回输出功能,为服务器返回的信息提供输出接口,或输入到某个div中,由用户指定
目前就想到这两点。
1 下载flash cs4 试用版(第一次使用这个版本,期待惊喜,家里的电脑没安装过flash)
2 下载到了66%
3 终于下完了,家里的破网速。解压缩…晕,发现是破解版的,Adobe,原谅我吧,我绝对是出于学习的目的…在实际生产中,我绝对不用盗版。
界面变得简单多了,但功能更强,
首先,现在允许同时上传跟多的文件(当然可以更多,但为了防止不可预料的问题出现,设置最大为1000个),允许上传的文件总大小最大为10000M,单个文件的最大为100M)
提供输入参数的接口,
1.上传的url;
2.允许扩展名,如”.xls;.doc”;
3.显示在扩展名前的描述;
4.有你来设置允许上传的最大文件个数(不能超过1000);
5.允许上传的最大文件大小(byte为单位);(不能超过10Mb);
6.允许上传的总文件最大值(byte为单位);(不能超过10000M);
还有更多的隐藏参数以后会陆续放出,比如提供javascript接口,让用户调用来选择和上传文件,上传界面可以由用户自己定义,以及接受服务端信息并反馈给用户的接口。
明天完成进度条的开发和js文件的封装。
在开发中发现一个问题,就是批量上传文件时,flash组件会报一个io #2038错误,目前我采取的方式是重新上传,具体原因待查。
flash上传的默认设置时
Content-Disposition: form-data; name=”Filedata”; filename=”example.jpg”
io #2038的错误原因找到了,原来这些文件的大小为0kb
又发现了一个问题,选择文件,只能选择一次,不能多次选择,否则会出错,所以,文件上传的总数不能累加(让人伤心的问题)
终于,第一个版本出来啦~~~
来个真的演示一下,尽管来上传文件吧,我的服务器还扛得住,哈:(不要上传单个文件超过100M的文件和大小为0的文件,否则直接被忽视)
下载:
ALANXUpload_eclipse
ALANXUpload,解压后直接丢到Tomcat中
说明,因为还没有完全封装好,所以提供的代码比较凌乱,不包含flash的脚本,需要我提供目前还相当“凌乱”的as脚本的兄弟,只需要给我留个言,用真实的email地址,我会发给你们,等flash的功能完善之后,我可得搞一个开源项目,先得研究一下有哪些开源许可证,呵呵。
下一步会实现的功能:
1.UI 定制,用户可以不使用系统自带的上传界面,改用html自己设计UI, 程序将提供选择文件和上传文件的javascript接口
2.服务器信息反馈的功能,把服务器返回的信息发送到用户指定的html元素中区。
(还是那句话,支持的点个广告)
分享到:
相关推荐
《jQuery多张图片同时上传组件详解》 在Web开发中,用户经常需要上传图片,而传统的单个图片上传方式往往效率较低,体验不佳。为此,jQuery提供了一种强大的多张图片同时上传组件,大大提升了用户体验。本文将详细...
总结来说,这些文件覆盖了EXT API的基础到进阶内容,包括EXT库的使用、组件开发、事件处理、多文件上传以及开发工具的使用,是全面学习EXT和SWFUpload的宝贵资源。通过深入学习和实践,开发者可以构建出功能强大、...
- **_notes**:可能包含一些开发笔记或说明文件。 - **ad**:广告或推广内容的文件夹。 - **xml**:此文件可能是博客的数据源,存储文章、用户信息等。 综上所述,这个博客系统融合了多种技术,包括Flash的交互性...
- Arduino IDE是一款简单易用的集成开发环境(IDE),适用于编写和上传代码到Arduino板。 - 支持多种编程语言,如C/C++,并提供了丰富的库函数支持。 2. **编程语言特点**: - Arduino编程语言简洁明了,易于理解...
电池管理系统(Battery Management System, BMS)是电动汽车、储能系统和其他采用电池作为能量来源的应用中的关键组件之一。良好的BMS不仅能提高电池的安全性和使用寿命,还能优化系统的整体性能。本文将详细介绍基于...
描述中的“纯H5的个人笔记网站模板”意味着这个模板完全依赖于HTML5技术,不包含其他如Flash等过时的技术。这确保了在各种设备和浏览器上都能流畅运行。同时,提到“可用于网站备案”,说明该模板设计简洁,符合备案...
【系统说明.txt】和【chinaz.com.txt】可能包含关于系统功能的详细介绍或者开发过程中的笔记,比如使用了哪些特定的技术、设计模式,或者是对某些功能的特别说明。 综上所述,这个“文章管理系统”是一个结合了Java...
6. **固件更新过程**:在STM8L152上使用UART3 Bootloader更新固件通常包括以下步骤:设备复位、打开Flashloader软件、连接到目标设备、选择正确的波特率和通信参数、上传新固件、等待写入完成并验证固件完整性。...
3. **固件更新流程**:详述固件上传、校验、写入Flash的步骤,以及错误处理机制。 4. **开发环境**:推荐的IDE、编译器和调试工具,以及如何配置它们以支持网络升级功能。 5. **安全考虑**:讨论固件更新过程中的...
4. **库组件与模板预览**:即使不上传到服务器,你也可以在Dreamweaver中预览使用了库组件或模板的页面,这对于本地开发非常方便。 5. **Flash插件检测**:使用“检查插件”行为来检测访问者是否安装了Flash插件,...
- **组件选择**:从 PSoC Creator 的组件库中选择合适的模拟和数字组件,并进行配置。 - **代码编写**:根据设计需求编写 C 语言程序,实现具体功能。 - **编译与仿真**:利用 PSoC Creator 进行代码编译,并进行...
- **IAR Embedded Workbench for 8051:** 一款用于开发基于8051微控制器应用程序的集成开发环境。 - **SmartRF Flash Programmer:** 用于将固件下载到目标设备的工具。 - **Zigbee协议监视分析软件(Packet ...