百度开源上传组件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 ...
随机推荐
- 移动端H5长按事件 vue自定义指令
import Vue from 'vue' Vue.directive('longpress', function (el, binding){ var timer = null; var start ...
- MySQL存储过程02
这次接着说MySQL存储过程: 我们先看它的多分支控制结构case: case的语句很简单: case 变量名 when 条件1 then 输出结果1; when 条件2 then 输出结果2; .. ...
- VMware15.5版本安装Windows_Server_2008_R2
VMware15.5版本安装Windows_Server_2008_R2一.从VMware15.5中新建虚拟机1.打开VMware,在首页面选择创建新的虚拟机. 2.新建虚拟机向导,选择典型配置. 3 ...
- Eclipse经常出现未响应问题
修改eclipse.ini文件 -startupplugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar--launcher.libr ...
- 安装lamp服务器
1.安装http: $ yum install httpd 2.启动http: $ systemctl start httpd 3.访问:http://192.168.1.100 4.Installi ...
- python笔记39-unittest框架如何将上个接口的返回结果给下个接口适用(面试必问)
前言 面试必问:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例a的结果,给用例b使用. unittest框架的每个用例都是独立的,测试数据共享的话,需设 ...
- 【Beta】Scrum meeting3
第三天:2019/6/26 前言: 第3次会议于6月26日在教9-501召开. 对每个人负责撰写的文档进行分配,并讨论其中模糊的问题,时长30min. 本日任务完成情况 成员 今日完成任务情况 成员贡 ...
- 《逆袭团队》第九次团队作业【Beta】Scrum meeting 3
项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...
- JS关闭当前窗口
function logOut() { $('#logging-out').on('click', function () { stopPreventDefault(); $.messager.con ...
- php过滤敏感词
<?php /** * 敏感词过滤工具类 * 使用方法 * echo FilterTools::filterContent("你妈的我操一色狼杂种二山食物"," ...