background image

本程序是利用

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;