百度开源上传组件webuploader 可上传多文件并带有进度条
//上传多文件
function UploadMultiFile() {
var uploader = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
// swf文件路径
swf: '~/Content/libs/webuploader/Uploader.swf',
// 文件接收服务端。
server: '../../Document/Art/UploadFile',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker',
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
resize: false
});
// 当有文件被添加进队列的时候
uploader.on('fileQueued', function (file) {
var itemTemplate = "";
var fileSize = parseInt(file.size / 1024);
if (fileSize >= 1024)
fileSize = parseInt(fileSize / 1024) + "MB"
else
fileSize = parseInt(fileSize) + "KB" itemTemplate = '<div id="' + file.id + '" class="uploadify-queue-item">\
<div style="float:left;width:50px;margin-right:2px;"><img src="/Content/img/filetype/'+ file.ext + '.png" style="width:40px;height:40px;"></div>\
<div class="cancel">\
<a href=""></a>\
</div>\
<span class="fileName">'+ file.name + ' (' + fileSize + ')</span><span class="data"></span>\
</div>'+ itemTemplate;
$(".border").prepend(itemTemplate);
$(".drag-tip").remove();
});
// 文件上传过程中创建进度条实时显示。
uploader.on('uploadProgress', function (file, percentage) {
var $li = $('#' + file.id),
$percent = $li.find('.uploadify-progress .uploadify-progress-bar'); // 避免重复创建
if (!$percent.length) {
$percent = $('<div class="uploadify-progress uploadify-progress-striped active">' +
'<div class="uploadify-progress-bar" role="progressbar" style="width: 0%">' +
'</div>' +
'</div>').appendTo($li).find('.uploadify-progress-bar');
}
$li.find('.data').text(' 上传中').css("color", "red");;
$percent.css('width', percentage * 100 + '%');
});
//文件成功、失败处理
uploader.on('uploadSuccess', function (file) {
$('#' + file.id).find('.data').text(' 上传成功').css("color","green");
}); uploader.on('uploadError', function (file) {
$('#' + file.id).find('.data').text(' 上传出错');
}); uploader.on('uploadComplete', function (file) {
$('#' + file.id).find('.uploadify-progress').fadeOut();
});
}
<div style="height: 38px;">
<div id="uploader" class="wu-example">
<!--用来存放文件信息-->
<div id="fileList" class="uploader-list"></div>
<div class="btns">
<div id="picker">选择文件</div>
</div>
</div>
</div>
<div class="border" style="height: 200px; border-radius: 5px;overflow-y:scroll">
<div class="drag-tip" style="text-align: center; padding-top: 80px;">
<h1 style="color: #666; font-size: 20px; font-family: Microsoft Yahei; padding-bottom: 2px;">您的浏览器不支持拖拽功能,请点击按钮上传。</h1>
<p style="color: #666; font-size: 12px;">
(您的浏览器不支持此拖拽功能)
</p>
</div>
</div>
注意:使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF
<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css"> <!--引入JS-->
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>

补充上传成功后返回值的两方结合的问题:
uploader.on('uploadSuccess', function (file, response) {
if (response.type == 1 && response.errorcode == 0) {
var arrData = [];
var sort = 0;
var inputValue = $("#fileData").val();
if (inputValue != "") {
var jsonObj = JSON.parse(inputValue);
for (var i = 0; i < jsonObj.length; i++) {
sort = i + 1;
jsonObj[i]["SortCode"] = sort;
arrData.push(jsonObj[i]);
}
}
var newAdd = {};
newAdd["FileName"] = file.name;
newAdd["FilePath"] = response.message;
newAdd["FileSize"] = parseInt(file.size / 1024);
newAdd["FileExtensions"] = file.ext;
newAdd["FileType"] = file.type;
newAdd["SortCode"] = sort + 1;
arrData.push(newAdd);
$("#fileData").val(JSON.stringify(arrData));
}
});
百度开源上传组件webuploader 可上传多文件并带有进度条的更多相关文章
- HTML5 jQuery+FormData 异步上传文件,带进度条
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href ...
- Spring Boot上传文件(带进度条)
Spring Boot 上传文件(带进度条)# 配置文件 spring: freemarker: template-loader-path: classpath:/static/ ##Spring B ...
- 百度开源上传组件WebUploader的formData动态传值技巧
基于Web页面的文件上传一直是互联网应用开发中避免不了的,从asp时代的AspUpload组件.到asp无组件上传,到.Net时代的FileUpload,再到HTML5时代的各种基于jQuery的上传 ...
- 百度上传组件 WebUploader
WebUploader http://fex.baidu.com/webuploader/doc/index.html WebUploader API 文档详细解读 源码以及示例:https://gi ...
- 分享百度文件上传组件webUploader的使用demo
先创建DOM节点:<head ng-app="myApp"> <meta charset="UTF-8"> <title>& ...
- 图片上传组件webuploader
前端组件webuploader 当时也是搞了很久参考这种demo,但是没记.现在事后大致总结下.直接上大概代码(我使用asp.net MVC来做的): 执行顺序:(get)Record/Add——A ...
- 百度上传工具webuploader,图片上传附加参数
项目中需要上传视频,图片等资源.最先做的是上传图片,开始在网上找了一款野鸡插件,可以实现图片上传预览(无需传到后台).但是最近这个插件出了莫名的问题,不易修复,一怒之下,还是决定找个大点的,靠谱的插件 ...
- springboot带有进度条的上传
一.说明 最近要做文件上传,在网上找了很久都没有一个全面的示例,特此记录下来分享给大家. 1.文件上传接口可按照springboot默认实现,也可用commons-fileupload组件,本示例使用 ...
- ajax 上传文件,显示进度条,进度条100%,进度条隐藏,出现卡顿就隐藏进度条,显示正在加载,再显示上传完成
<form id="uploadForm" method="post" enctype="multipart/form-data"&g ...
随机推荐
- [LeetCode] 647. 回文子串 ☆☆☆(最长子串、动态规划、中心扩展算法)
描述 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc" ...
- js 获取 对象 属性名称(转载)
来源:https://www.cnblogs.com/YuyuanNo1/p/9257634.html dataObj = {name : su,age : 26,height : 18cm }; f ...
- day 05 预科
目录 文本处理 什么是文件 什么是文本 视频/音频文件(多媒体文件) 我们如何通过文本编辑器去控制txt文件 文本高级 文本处理+高级分析 文本处理 什么是文件 文件是操作系统提供的一个特殊概念,拿来 ...
- python_多线程
1.多线程的实现与阻塞 import time import threading def fun_yellow(num): for i in range(1,num+1): print('正在拿第:' ...
- Apache:编译和安装
1.在Fedora / CentOS / Red Hat Enterprise Linux上安装 sudo yum install httpd sudo systemctl enable httpd ...
- 如何将scratch3.0的作业自动提交到后台数据库
大家都知道Scratch3.0开发后,默认是可以下载文件到电脑,但是如果是作为商业系统来说,我们需要将作业自动的提交到后台,因此有了这篇文章. 首先,我们来分解下开发步骤: 1.在菜单栏新增一个上传到 ...
- jmeter+nmon+crontab简单的执行接口定时压测
一.概述 临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发2000 在不熟悉系统的情况下,按目前的需求,需要做的步骤: 需要有接口脚本 需要能监控系统性能 需要能定时执行脚本 二.观察 ...
- P5024 保卫王国[倍增+dp]
窝当然不会ddp啦,要写这题当然是考虑优化裸dp啦,但是这题非常麻烦,于是变成了黑题. 首先,这个是没有上司的舞会模型,求图的带权最大独立集. 不考虑国王的限制条件,有 \[ dp[x][0]+=dp ...
- synchronize——对象锁和类锁
最近在研究Java 多线程的只是,经常能看到synchronize关键字,以前只是一眼带过,没有细究,今天趁这个机会,整理下 synchronize作为多线程关键字,是一种同步锁,它可以修饰以下几种对 ...
- nginx1.15.10配置使用非https访问返回403
nginx版本号:nginx version: nginx/1.15.10 server { listen 443 default ssl; server_name app.test.com; if ...