再谈web开中几种经典的大文件上传组件

简介: 1.aspnetupload 这是国人开发的一款收费.net控件,官网http://www.aspnetupload.net/ (不过也有一个免费版本的,允许上传10M内容,一般情况下也够了,收费版也不贵,大致就600 RMB) 它的大概原理是把文件分成一块一块的上传,然后客户端用ajax不断刷新从而显示进度条. 这也是我使用时间最长的一种解决方案,在IIS7出现以前完全没有任何问题,但IIS7及以上版本中,如果用了这个控件,应用程序池就只能运行在“经典”模式下,无法充分发挥IIS7的优点。

1.aspnetupload

这是国人开发的一款收费.net控件,官网http://www.aspnetupload.net/ (不过也有一个免费版本的,允许上传10M内容,一般情况下也够了,收费版也不贵,大致就600 RMB)

它的大概原理是把文件分成一块一块的上传,然后客户端用ajax不断刷新从而显示进度条.

img_1d06615eeb8f8832ff3fabd5be4c7926.jpg
这也是我使用时间最长的一种解决方案,在IIS7出现以前完全没有任何问题,但IIS7及以上版本中,如果用了这个控件,应用程序池就只能运行在“经典”模式下,无法充分发挥IIS7的优点。


我向作者反馈过该问题,遗憾的是貌似作者也没有改进的意思。

 

2.silverlightUpload 开源项目

完全免费,官网地址:http://silverlightfileupld.codeplex.com/

大致原理:利用silverlight做界面,点击上传时发起post请求到服务端,然后不断回调显示进度。
img_77bc10d42ed9b6d744c3e652b89f5c5a.jpg
开启图片缩略图预览后的样子如下:
img_a3c5d64a2e1668806274e0fa24c21561.jpg

 

缺点:就是有点粗糙,不方便与Form表单整合.

这是我"汉化"后的源文件(其实也就是改了改颜色,把英文换成了中文,呵呵)

http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Silverlight/SilverlightFileUploadSrc.rar

 

3.swfupload 开源项目

也是免费的,同时也是功能最强大的 官网地址:http://www.swfupload.org/

在线演示:http://demo.swfupload.org/v220/index.htm

这个项目很成熟,推荐使用。

http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Web%e5%bc%80%e5%8f%91/SwfUpload^_Single^_FormDemo^_For^_Asp.Net^_4.0.rar

这是我做的一个小Demo(Asp.Net4.0环境下的,必须用VS2010打开)


最后要提醒的一点是:安全第一!凡是有上传的地方,都是可以上传木马的地方,不要相信任何客户端提交过来的文件。(比如客户可以把.aspx改成.jpg上传,如果服务器管理员发神经把.jpg映射成跟.aspx一样,嘿嘿...)

所以我的建议是:一定要在服务端检测文件MIME类型,要伪造这个是比较困难的,相对更安全;同时服务端上的上传目录不要给予任何执行权限,只要读取权限即可.

目录
相关文章
|
7月前
|
XML 编解码 前端开发
【web组件库系列】封装自己的字体图标库
【web组件库系列】封装自己的字体图标库
145 0
|
7月前
|
消息中间件 druid Java
web后端-SpringCloud-Bus消息总线组件
web后端-SpringCloud-Bus消息总线组件
|
7月前
|
Java 应用服务中间件 容器
SpringBoot之Web原生组件注入
SpringBoot之Web原生组件注入
|
7月前
|
IDE API 开发工具
 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Web组件
 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Web组件
177 2
|
4月前
|
JavaScript 前端开发 开发者
哇塞!Vue.js 与 Web Components 携手,掀起前端组件复用风暴,震撼你的开发世界!
【8月更文挑战第30天】这段内容介绍了Vue.js和Web Components在前端开发中的优势及二者结合的可能性。Vue.js提供高效简洁的组件化开发,单个组件包含模板、脚本和样式,方便构建复杂用户界面。Web Components作为新兴技术标准,利用自定义元素、Shadow DOM等技术创建封装性强的自定义HTML元素,实现跨框架复用。结合二者,不仅增强了Web Components的逻辑和交互功能,还实现了Vue.js组件在不同框架中的复用,提高了开发效率和可维护性。未来前端开发中,这种结合将大有可为。
177 0
|
4月前
|
Web App开发 JavaScript 前端开发
[译] 用 Web Worker 改善 Vue 组件性能
[译] 用 Web Worker 改善 Vue 组件性能
|
2月前
|
存储 前端开发 JavaScript
WEB前端开发中如何实现大文件上传?
WEB前端开发中如何实现大文件上传?
238 3
WEB前端开发中如何实现大文件上传?
|
2月前
|
前端开发 JavaScript 开发者
Web组件:一种新的前端开发范式
【10月更文挑战第9天】Web组件:一种新的前端开发范式
73 2
|
2月前
|
前端开发 JavaScript Go
前端开发趋势:从响应式设计到Web组件的探索
【10月更文挑战第1天】前端开发趋势:从响应式设计到Web组件的探索
43 3
|
1月前
|
消息中间件 监控 Kafka
Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面
随着大数据技术的发展,Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面,方便管理和监控 Kafka 集群。本文详细介绍了 Kafka Manager 的部署步骤和基本使用方法,包括配置文件的修改、启动命令、API 示例代码等,帮助你快速上手并有效管理 Kafka 集群。
51 0