本程序是利用
3.x 的 Firefox 浏览器可以读取本地文件的特性,实现通过 xmlHttPRequest 上
传大文件功能。
本程序是利用
3.x 的 Firefox 浏览器可以读取本地文件的特性,实现通过 xmlHttPRequest 上
传大文件功能,并在可以上传过程中动态显示上传进度。略加修改,并与服务器端配合,可
以实现断点续传等诸多功能。
本例主要是研究
FireFox 的 file-input 节点的一些特性,其他客户端应用,如
Flash、Sliverlight 等,在实现客户端大文件上传时,在数据传输与服务器端存储等方面,与
本例的思路基本一致。
注意:文件体积似乎有临界点,但这个临界点是多少尚未确认。建议不要用此方法上传超过
100M 的文件。
以下是客户端
javascript 代码
复制代码
代码如下:
/*
* FireFoxFileSender version 0.0.0.1
* by MK winnie_mk(a)126.com
*
* 【本程序仅限于 FireFox3.x 版本,其他浏览器是否可以运行未做测试。】
* 【测试通过:FireFox 3.6.8 / Apache/2.2.11 (Win32) php/5.2.6 】
*
******************************************************************************
* 本程序是利用 3.x 的 FireFox 浏览器可以读取本地文件的特性
* 实现通过 xmlhttpRequest 上传大文件功能
* 并在可以上传过程中动态显示上传进度
* 略加修改,并与服务器端配合,可以实现断点续传等诸多功能
* 本例主要是研究 FireFox 的 file-input 节点的一些特性
* 其他客户端应用,如 Flash、Sliverlight 等,在实现客户端大文件上传时
* 在数据传输与服务器端存储等方面,与本例的思路基本一致
* 注意:文件体积似乎有个临界点,但这个临界点是多少尚未确认。建议不要用此方法上传
超过
100M 的文件。
*
******************************************************************************
*/
function
FireFoxFileSender(config){
var
conf = config || {};
/*
* 错误信息队列
*/
this.errMsg = [];
/*
* 判断各参数是否齐备
*/
this.f = typeof conf.file == 'string' ?
document.getElementById(conf.file) : conf.file;