webuploader 上传文件参数设置
webUploader 是款很好用的优秀的开源上传组件,由百度公司开发,详细的介绍可参见webUploader 的官方文档:
最近在使用webUploader时,需要添加额外的参数,并在后台获取,参数的格式是json,刚开始一直设置不对,在参考了官网的api文档及相关热心网友的回答后,终于弄明白了webUploader 上传参数的设置。设置的方法一般是在uploader 对象创建后的 fileQueued 或 uploadBeforeSend 事件 中设置 ,也可以对webUploader 对象的属性 formData 进行直接 设置。
具体如下 :
uploader = WebUploader.create({
auto: false,
// swf文件路径
swf: '/Scripts/webUploader/Uploader.swf', // 文件接收服务端。
server: '@Url.Action("Upload", "Home")', // 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#myPicker', // formData: { "name": name, "desc": desc}, prepareNextFile:true,
chunked: true, // 分片上传大文件
chunkRetry: 10, // 如果某个分片由于网络问题出错,允许自动重传多少次?
thread: 100,// 最大上传并发数
method: 'POST',
fileSizeLimit: 1024, // 只允许选择图片文件。
accept: {
title: 'HTML5组态文件',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'img/*'
} }); 5
6
7
8
9
10
11
12
13 //当文件被加入队列之前触发
uploader.on('beforeFileQueued', function (file) {
//如果是单文件上传,把旧的文件地址传过去
if (!p.multiple) {
if (p.sendurl.indexOf("action=itemcode") > 0) {
if ($("#txtItemCode").val() == '') {
layer.msg('请先填写商品编码再上传图片!');
//layer.alert('请先填写商品编码再上传图片!');
return false;
}
data.formData= { "name": name, "desc": desc};
}
}
}); uploader.on('fileQueued', function (file) {
$("#listFile").append('<div id="' + file.id + '" class="item">' +
'<h4 class="info">' + file.name + '</h4>' +
'<p class="state">等待上传...</p>' +
'</div>');
}); uploader.on('uploadProgress', function (file, percentage) {
var li = $('#' + file.id),
percent = li.find('.progress .progress-bar');
// 避免重复创建
if (!percent.length) {
percent = $('<div class="progress progress-striped active">' +
'<div class="progress-bar" role="progressbar" style="width: 0%">' +
'</div>' +
'</div>').appendTo(li).find('.progress-bar');
}
li.find('p.state').text('上传中');
percent.css('width', percentage * 100 + '%');
}); uploader.on('uploadSuccess', function (file) {
$('#' + file.id).find('p.state').text('已上传');
}); uploader.on('uploadError', function (file) {
$('#' + file.id).find('p.state').text('上传出错');
}); uploader.on('uploadComplete', function (file) {
$('#' + file.id).find('.progress').fadeOut();
//$("#editModal").fadeOut(2000, window.location.reload());
//destory();
//$("#editModal").destory();
}); //当某个文件的分块在发送前触发,主要用来询问是否要添加附带参数,大文件在开起分片上传的前提下此事件可能会触发多次。 uploader.on('uploadBeforeSend', function (obj, data, headers) {
// data.DelFilePath = parentObj.siblings(".upload-path").val();
// data.ItemCode = $("#txtItemCode").val();
data.formData= { "name": name, "desc": desc};
}); uploader.on('all', function (type) {
if (type === 'startUpload') {
state = 'uploading';
} else if (type === 'stopUpload') {
state = 'paused';
} else if (type === 'uploadFinished') {
state = 'done';
}
if (state === 'uploading') {
$('#btnBeginUpload').text('暂停上传');
} else {
$('#btnBeginUpload').text('开始上传');
}
}); } else {
geap.alertPostMsgDefault("请选择一个文件!", "info");
}
}); // 点击上传事件 $('#btnSave').bind('click', function () {
var name = $("#txtName").val();
var id = $("#txtId").val(); if (!name || name.length == 0) {
alert("请填写名称");
return false;
}
var obj = new Object();
obj.name = name;
obj.id = id;
uploader.options.formData = obj;
// uploader.options.formData = { "name": name, "id": id, };
if (state === 'uploading') {
uploader.stop();
} else {
uploader.upload();
}
});
webuploader 上传文件参数设置的更多相关文章
- webuploader 上传文件 生成链接下载文件
最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用we ...
- WebUploader上传文件(一)
写在前面: 文件上传方式很多的,对于大文件的上传,在本次项目中也有涉及,主要是用了分片断点上传大文件.所以就去了解了一下WebUploader,先从简单的上传文件开始吧~ 在代码中写注释,这样看的比较 ...
- Abp中SwaggerUI的接口文档添加上传文件参数类型
在使用Swashbuckle上传文件的时候,在接口文档中希望看到上传控件,但是C#中,没有FromBodyAttribute这个特性,所以需要在运行时,修改参数的swagger属性. 首先看下,最 ...
- webuploader+上传文件夹
在web项目中上传文件夹现在已经成为了一个主流的需求.在OA,或者企业ERP系统中都有类似的需求.上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便.能够提供更高级的应用支撑. ...
- springmvc 使用ajx上传文件 不设置form enctype
最近在做一个小项目 碰到这个问题 解决方案如下 1.js代码如下 获取当前form 转换为formdata ajax提交到后台 var form = $("#importForm" ...
- WebUploader 上传文件 错误总结
近日做文件上传,粗心的问题和技术不精的问题导致了很多的bug,大部分时间都是在找自己写出来的bug,近日总结一下使用 WebUploader 开启分片上传的使用方法以及注意事项 1.上传过程中,后续上 ...
- webuploader上传文件,图片
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.官方地址:http://fex.baidu.com/webupload ...
- 百度文件上传webuploader上传文件,含文件大小、类型验证
你的上传初始化文件upload_XXX.js中:(见红色字) // 初始化Web Uploader var allMaxSize = 10; var uploader = WebUploader.cr ...
- windows下命令行终端使用rz上传文件参数详解
rz命令: (X) = option applies to XMODEM only (Y) = option applies to YMODEM only (Z) = option applies t ...
随机推荐
- gruntjs
先输入命令: npm install -g grunt-clinpm install grunt --save-devgrunt –version 新建json文件:package.json { &q ...
- 【jq】c#零基础学习之路(5)自己编写简单的Mylist<T>
public class MyList<T> where T : IComparable { private T[] array; private int count; public My ...
- 在生产环境记录http请求参数
StringBuilder strParam = new StringBuilder(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ...
- Struts2中通过超链接传参数要注意的问题
写到分页的功能,在传递页码pageNo的时候遇到了参数接收不正确的问题,我本来在action中是定义了一个pageNo字符串参数和一个Page类参数,Page是一个封装了页面要显示的数据集合和页面信息 ...
- 修复FreeBSD上的ufs文件系统
昨天在两台FreeBSD上配置好Heartbeat服务(两台机器是用网线连通的,做为Heartbeat的两个节点),启动服务时Heartbeat检测到crmd守护进程没起来,于是它就尝试重启两台机器以 ...
- JSPatch 实现原理详解
原文地址https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E8%AF%A6%E8 ...
- 数据注解和验证 – ASP.NET MVC 4 系列
不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网 ...
- mysql 5.7修改密码
关闭正在运行的 MySQL : [root@www.woai.it ~]# service mysql stop 运行 [root@www.woai.it ~]# mysqld_safe --skip ...
- cookie欺骗
1.什么是cookie欺骗改变cookie的值,发给服务器,就是cookie欺骗.正常情况下,受浏览器的内部cookie机制所限,每个cookie只能被它的原服务器所访问,我们操作不了原服务器. 2. ...
- rabbitmq, windows/linux, c/c++/node.js/golang/dotnet
官网:http://www.rabbitmq.com/ zeromq 相当于 message backbone,而rabbitmq相当于message broker.有的应用系统中,二者并存. (1) ...