html5带进度多文件大文件上传插件

近来正为AMS直点播放系统实现WEB页面,其中就是文件上传这个功能,原来实现这个功能都是用的Flash插件上传,但现在FLASH的寿命马上到 了, 我们马上就不能使用了。所以就只能另辟途径。

HTML5的文件上传功能已经诞生好多年了,只是以前兼容性不是很好,所以没有大范围的使用,当前这已经不是什么问题了。现在网上一找一大堆关于这方面的东西, 索性整理一下形成一个比较好用的JS插件。

下载资源:https://download.csdn.net/download/wanghaisheng/14122258

看下图:

上面就是插件界面,一次可以添加多个文件。 可以一次“全部上传”,也可以分别单个上传。上传成功后“上传”按钮就会消失,可以随时删除上任务。

使用非常简单, 把资源下载后放到WEB目录下就可以使用了,里面有个DEMO.HTML的测试页。

上demo.html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html5上传demo</title>
<link rel="stylesheet" type="text/css" href="uploadify.css"/>
<script type="text/javascript" src="jquery-1.5.2.js"></script>
<script type="text/javascript" src="jquery.uploadify.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
    
    $(function(){
    $('#upload').uploadify({
        auto:false,//是否是自动上传, 如果设为TRUE,那么添加文件后会立即上传。
        username:'myane',//这个是FORM中的参数,提交给服务器做上传认证使用
        SESSION_ID:'1234567',//这个是FORM中的参数,提交给服务器做上传认证使用
    //  param:'username:{{$user.USERNAME}},SESSION_ID:{{$sessionid}}',//这个参数目前没有使用,你可以使用,上传时那个解析代码我没有测试,所以我注释掉了,你可以打开去调试一下使用
        multi:true,
        removeTimeout:9999999,//这个是一个删除的时间,当上传完毕后时间到了就会把任务自动删除。
        url:'./upload.php',//这个是接收页面的地址,demo的接收页面是这个

        fileTypeExts:'video/mp4,video/mkv,video/mov',//这个是上传文件类型的指定,不符合的文件不会被添到列表中
        onUploadStart:function(){
        //    alert('开始上传');
            },
        onInit:function(){
        //    alert('初始化');
            },
        onUploadComplete:function(){
            //alert('上传完成');
            }
        });
    });
</script>
</head>

<body>
<div id="upload"></div>
</body>
</html>

如你发现参数不够用,要增加上传时参数也是可以,看见那个PARAM参数了吧,你就模仿那个格式,向里添加,添加多少都可以,但这个你要自己调试一下,因为我没有用,所以也没有调。

你打开jquery.uploadify.js文件,找到 下面的代码

 // 开始上传
						  xhr.open("POST", self.url, true);
						  var vformdata = new FormData();
						  vformdata.append('Filedata',file);
						  //添加POST 参数 如果想添加自己的参数可以在此添加
						  vformdata.append('mediaposition',$('#mediaposition').val() );
						  vformdata.append('mediawenjian',$('#mediawenjian').val() );
						  vformdata.append('vodname',$('#vod_name').val() );
						  vformdata.append('username',option.username );
						  vformdata.append('SESSION_ID',option.SESSION_ID );
						/*  if(self.param!==""||self.param!==null||self.param!==undefined )                        {
							  var paramArray = self.param.split(",");
							  if(!paramArray){
								  for(var i in paramArray){
										var arr = paramArray[i].split(":");
										if(arr.length == 2){
											vformdata.append(arr[0], arr[1] );
										}								  
								  }
								}  
							}*/

						  xhr.send(vformdata);

你把那个注释的/**/符号去掉,调试一下,只要这里正确就能提交到后台。

当然你也可以像这其中的

vformdata.append('mediaposition',$('#mediaposition').val() );
vformdata.append('mediawenjian',$('#mediawenjian').val() );
vformdata.append('vodname',$('#vod_name').val() );

这三行一样添加,这样你要在页面中添加相应的标签。

还有最后一种方式, 看一下我的 'username'参数的传递,自己加一个也不难。

 

 

 

 

 

 

新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供JavaScript SDK包。 产品特点: 1、文件上传使用增强的FTP协议,用户使用浏览器就可以上传超大文件到服务器(支持上传超过1G的文件)。 2、支持断点续传,系统智能续传未上传文件,续传操作更简单,更方便,更快捷。 3、支持文件批量上传, 一次可以上传多个文件. 上传时有详细的状态显示(包括单个文件进度,整体进度,传输速率,剩余时间等)。 4、新颖网络免费提供JavaScript SDK包。通过新颖网络提供的封装好的JavaScript类库用户可以快速的与现有系统整合。 5、StorageWebPlug提供完善的接口和帮助文档,开发文档。开发人员可以动态设置上传保存路径, 设置允许扩展名, 允许最大大小等,可自定义强。 6、支持各种代理(HTTP, Socket4, Socket5等)。 7、组件采用多线程机制来保证上传效率。 8、支持批量文件上传, 用户可以一次性上传批量文件. 客户端可以绑定HTML表单变量, 服务端并可以接收表单变量 9、服务端文件保存路径可以随意指定,服务端文件保存路径可以灵活变化。保存路径支持网络路径。 10、为提高安全性,服务端组件可以指定用户权限 11、可以限制上传单个文件大小, 控制上传宽上限, 允许文件扩展名, 拒绝文件扩展名等 12、上传数据时会根据网络状况来控制数据包大小, 避免网络堵塞 13、控件采用ATL编写, cab包只有59KB, 用56k的modem下载不会超过12秒 14、服务端支持Windows 2000 Server/Windows 2003 Server/Windows NT/Windows XP/Unix/Linux等操作系统 15、通过新颖网络业界领先的设计水平打造的操作界面可以帮助您的系统和产品获得更高的品质。 产品介绍:http://www.ncmem.com/service_storagewebplug.aspx 下载地址:http://www.ncmem.com/download.aspx
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值