文档章节

Stream上传插件(文件夹上传支持)

java_speed
 java_speed
发布于 2014/01/03 13:59
字数 277
阅读 5207
收藏 11

HTML5文件夹上传,目前支持的浏览器有Chrome21+, Opera15+。是实现文件夹上传的功能时,主要参考两段JS文件,地址:http://protonet.github.io/plupload/src/javascript/plupload.html5.js(是关于拖拽上传文件的巧妙处理方式),

http://html5-demos.appspot.com/static/html5storage/demos/upload_directory/index.html(通过文件选择按钮上传文件夹,需要翻墙)。

主要是拖拽处理的方式复杂一些,贴出http://protonet.github.io/plupload/src/javascript/plupload.html5.js的处理方式:

function walkFileSystem(directory, callback, error) {
	if (!callback.pending) {
		callback.pending = 0;
	}
	if (!callback.files) {
		callback.files = [];
	}
				
	callback.pending++;
				
	var reader = directory.createReader(),
	relativePath = directory.fullPath.replace(/^\//, "").replace(/(.+?)\/?$/, "$1/");
	reader.readEntries(function(entries) {
		callback.pending--;
		plupload.each(entries, function(entry) {
		if (entry.isFile) {
			callback.pending++;
			entry.file(function(File) {
				File.relativePath = relativePath + File.name;
				callback.files.push(File);
				if (--callback.pending === 0) {
					callback(callback.files);
				}
			}, error);
		} else {
			walkFileSystem(entry, callback, error);
		}
	      });
					
             if (callback.pending === 0) {
		callback(callback.files);
	    }
	}, error);
}

在callback的处理非常巧妙!目前Stram上传插件已经实现该功能,测试地址:http://p.twinkling.cn

下载地址:http://git.oschina.net/jiangdx/stream/attach_files

另外,推广一下我的网盘搜索引擎:http://www.impress.pw (搜索种子文件非常好用~)


© 著作权归作者所有

共有 人打赏支持
java_speed
粉丝 112
博文 44
码字总数 17031
作品 1
成都
程序员
私信 提问
Stream上传插件后续功能 - 文件夹上传

Stream上传插件是我对过去工作的一个总结,支持Flash、HTML5两种上传模式,Flash模式下最大单个文件大小是2G,而HTML5却没有限制,基本上可以满足大多数人的WEB上传需要。 到目前为止,有两个...

java_speed
2013/12/25
0
4
java_speed/stream

#Stream 上传插件 Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合! #Stream 简介 Stream 是根据某网的文件上传插件加工而来,支持不同平台(Windows, Linux,...

java_speed
2014/04/09
0
0
浏览器上传文件插件--Stream

Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合!兼容到浏览器从IE7+, Chrome, FF, Safari以及以这些内核为基础到浏览器(如猎豹,搜狗,360,QQ,傲游等)。...

java_speed
2014/04/09
5.8K
3
bboss mvc文件上传下载新增功能详解

bboss mvc文件上传下载新增功能详解 1.概述 最近对bboss mvc的文件上传和下载功能做了以下改造: a.文件上传插件增加对html5文件上传功能的支持-application/octet-stream请求的处理 b.文件上...

bboss
2012/05/16
0
0
Ajax在线文件管理--SFBrowser

SFBrowser是一个开源的应用程序基于PHP与jQuery开发,拥有一个漂亮的Ajax界面来在线管理文件。 除了能够展示文件和文件夹功能外,还可以上传、删除、重命名和预览文件。上传可以通过Ajax或F...

匿名
2008/09/19
2.6K
1

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
3
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
2
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
4
0
PHP 相关配置

1. php-fpm的pool 编辑php-fpm配置文件php-fpm.con vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容 include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vho......

Yue_Chen
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部