asp.net 开发中大文件上传组件的解决方案
来源:互联网 发布:js事件源码 编辑:程序博客网 时间:2024/05/17 05:50
1.aspnetupload
这是国人开发的一款收费.net控件,官网http://www.aspnetupload.net/ (不过也有一个免费版本的,允许上传10M内容,一般情况下也够了,收费版也不贵,大致就600 RMB)
它的大概原理是把文件分成一块一块的上传,然后客户端用ajax不断刷新从而显示进度条.
这也是我使用时间最长的一种解决方案,在IIS7出现以前完全没有任何问题,但IIS7及以上版本中,如果用了这个控件,应用程序池就只能运行在“经典”模式下,无法充分发挥IIS7的优点。
我向作者反馈过该问题,遗憾的是貌似作者也没有改进的意思。
2.silverlightUpload 开源项目
完全免费,官网地址:http://silverlightfileupld.codeplex.com/
大致原理:利用silverlight做界面,点击上传时发起post请求到服务端,然后不断回调显示进度。
开启图片缩略图预览后的样子如下:
缺点:就是有点粗糙,不方便与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类型,要伪造这个是比较困难的,相对更安全;同时服务端上的上传目录不要给予任何执行权限,只要读取权限即可.
- asp.net 开发中大文件上传组件的解决方案
- ASP.NET中上传大文件到服务器的解决方案
- ASP.NET中上传大文件到服务器的解决方案
- BruceUpload-Asp.NET大组件上传解决方案
- ASP.net下大文件上传的解决方案及WebbUpload组件源码
- ASP.net下大文件上传的解决方案及WebbUpload组件源码
- ASP.net下大文件上传的解决方案及WebbUpload组件源码
- ASP.net下大文件上传的解决方案及WebbUpload组件源码
- 【转载】Asp.NET大文件上传组件开发总结(五)---上传进度信息的显示
- ASP.Net大文件上传组件详解
- asp.net 上传大文件解决方案
- asp.net 上传大文件解决方案
- [整理]asp.net 上传大文件解决方案
- ASP.NET上传大文件解决方案
- Asp.Net 大文件上传,最优解决方案
- Asp.NET大文件上传组件开发总结(二)---提取文件内容
- 【转载】Asp.NET大文件上传组件开发总结(二)---提取文件内容
- 【转载】Asp.NET大文件上传组件开发总结(三)---处理文件内容
- ORA-07445 [pmux_obj_xlate()]的详细解决办法
- ASP.NET MVC3.0 上传文件并导入
- C#选取文件夹的对话框
- 使用createDocumentFragment()方法---减少回流,提高性能
- linux中文乱码解决方法
- asp.net 开发中大文件上传组件的解决方案
- CVS安装和配置(MyEclipse版)
- GCC和G++(转载)
- matlab sparse
- eclipse启动报错JVM terminated. Exit code=1
- 注重实效的程序员(The Pragmatic Programmer)
- git 进行代码回滚
- 将淘宝数据包导入自己的商城系统
- Linux Socket编程(不限Linux)