您的位置:首页 > Web前端 > JQuery

jQuery File Upload 多文件 单击选中或多选文件直接自动上载 无需提交按钮

2016-09-23 21:13 239 查看
jQuery-File-Upload

插件地址:https://github.com/blueimp/jQuery-File-Upload

HTML,激活 fileupload 按钮,你可以用  CSS 绘制你喜欢的效果

<button onclick="$('#fileupload').click();">
select file ...
</button>


HTML,页码上放置一个文件选择类型的控件,隐藏形式(display: none),如果服务端是 struts2,那么 name="upload" 很重要,如果是 servlet 或其它则无所谓。

<input id="fileupload" type="file" name="upload" multiple style='display: none'>


javascript

$('#fileupload').fileupload(
{
url : 'struts/image/UploadFile',
type : 'post',
dataType : 'json',
autoUpload : true,
formData : [
{} ],
done : function(e, data)
{
console.debug(data.result);
//
var object = JSON.parse(data.result);
var image = new Image(object.image.id, object.image.assetId, object.image.assetXml, object.image.url, object.image.type);

console.log('image formUploadFileUser success,' + image);
},
progressall : function(e, data)
{
var progress = parseInt(data.loaded / data.total * 100, 10);
console.log(progress + '%', data.loaded, data.total);
},
fail : function(e, data)
{
console.log('fileupload, fail', e, data);
}
}).prop('disabled', !$.support.fileInput).parent().addClass($.support.fileInput ? undefined : 'disabled');


事件定义:

$('#fileupload')
.bind('fileuploadadd', function (e, data) {/* ... */})
.bind('fileuploadsubmit', function (e, data) {/* ... */})
.bind('fileuploadsend', function (e, data) {/* ... */})
.bind('fileuploaddone', function (e, data) {/* ... */})
.bind('fileuploadfail', function (e, data) {/* ... */})
.bind('fileuploadalways', function (e, data) {/* ... */})
.bind('fileuploadprogress', function (e, data) {/* ... */})
.bind('fileuploadprogressall', function (e, data) {/* ... */})
.bind('fileuploadstart', function (e) {/* ... */})
.bind('fileuploadstop', function (e) {/* ... */})
.bind('fileuploadchange', function (e, data) {/* ... */})
.bind('fileuploadpaste', function (e, data) {/* ... */})
.bind('fileuploaddrop', function (e, data) {/* ... */})
.bind('fileuploaddragover', function (e) {/* ... */})
.bind('fileuploadchunksend', function (e, data) {/* ... */})
.bind('fileuploadchunkdone', function (e, data) {/* ... */})
.bind('fileuploadchunkfail', function (e, data) {/* ... */})
.bind('fileuploadchunkalways', function (e, data) {/* ... */});

如果提交文件时还需要提交其他文本信息,举例如下:

$('#fileupload').bind('fileuploadsubmit', function(e, data)
{
var str1 = 'hello';
var str2 = 'world';

data.formData =
{
param1 : str1,
param1 : str2,
};
});

https://github.com/blueimp/jQuery-File-Upload
这里还有更多的例子与相应的文档介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐