PHP+JS+HTML5+Flash网页上传超大文件的解决方案
来源:互联网 发布:方正证券软件下载 编辑:程序博客网 时间:2024/06/06 15:40
所有Web程序猿都有过通过网页上传文件到服务器的经历,上传小文件是十分简单的。当你上传的文件大小逐渐变大的时候,就会遇到第一个问题:
1.PHP上传文件的大小是有限制的,默认是2M,即使你改大了,也是治标不治本。而且,当文件上升到GB级别的时候,就不单单只是PHP的问题了,你服务器的内存也会被吃光。
2.用传统的提交表单的方式上传大文件,进度显示不友好。
3.如果用户上传的文件,你服务器上本来就有,难道还让用户再传一遍?
为了解决以上的三个问题,分别有对应的方法:
1.当用户在浏览器里选择文件后,如果文件大小超出限制,立马将文件切片,分片上传。
2.利用flash或者html5来展示上传进度条。
3.上传前就在本地做HASH,通过和服务器的比对,确定该文件是否要上传。
其中,HTML5和Flash是二选一的,因为不同品牌,不同时代的浏览器的兼容性,通常会两者齐用。优先考虑Html5。
代码实现的过程中,有几个难点,一个是大文件的分片上传。这个是用JS来实现的。原来和我们平常所说的断点续传类似。就是每次传一部分,把长度或者开头和结尾一起传上去。另一个是文件的HASH验证,这个你就别指望用现成的代码了,因为Hash是很耗费资源的,试想一下,如果你要用JS把一个2G的文件Hash一遍,将用时多久?所以通常都是自己写算法验证的。思路是分段MD5验证,避免全文MD5。
下面开始提供解决方案:
百度前端团队开源了一款网页上传插件,名字叫Webuploader,完美解决了上述问题。开源链接
0 0
- PHP+JS+HTML5+Flash网页上传超大文件的解决方案
- php 文件上传 (html5 flash 进度条 XXXXXX)
- 利用HTML5分片上传超大文件
- 利用HTML5分片上传超大文件
- 利用HTML5分片上传超大文件
- 利用HTML5分片上传超大文件
- 利用HTML5分片上传超大文件
- 上传超大文件的httpModule
- flash + php 文件上传
- flash,php上传文件
- PHP 一款漂亮的Flash文件上传
- js html5 上传文件、多文件,服务器 端php
- 真正的网页在线超大文件断点续传上传控件(组件)
- 文件上传组件(Flash,JQuery,asp,php,js,AJAX)
- flash + html5 实现浏览器兼容的文件上传方案
- HTML5+flash打造兼容各浏览器的文件上传方案
- HTML5+flash打造兼容各浏览器的文件上传方案
- java 超大文件上传
- ios软件开发-第二课-基础知识
- pandas数据处理
- 记录mysql数据库的执行语句
- 代理,block,通知,对于数据回传的不同方法
- 南大软院大神养成计划NO.3
- PHP+JS+HTML5+Flash网页上传超大文件的解决方案
- 机器学习笔记_数学基础_5-矩阵理论
- Android学习笔记——关于Android ViewPager 在 adapter.notifyDataSetChanged 后 setCurrentItem 方法失效的解决办法
- Android Activity的启动方式
- 做自己的事情,让别人去bb
- 网页设计大赛大神养成计划
- 分层构建项目
- android的基础Animation的实现
- Android文件目录结构