- 实现效果:*
- 单个文件 上传的文件可以覆盖上次的文件*
1 .html
样式
<div class="uploader-demo">
<div id="thelist" class="uploader-list"></div>
<div class="btns">
<div id="picker">选择文件</div>
</div>
</div>
2 .js
代码
$(function () {
var $ = jQuery,
$list = $('#thelist'),
ratio = 1 || 1,
thumbnailWidth = 100 * ratio,
thumbnailHeight = 100 * ratio,
uploader = WebUploader.create({
auto: true,
swf: '/content/plugins/webuploader/Uploader.swf',
fileNumLimit: 1,
server: getRootPath() + '/uploadFileReturnModel',
pick: '#picker',
formData: {
destDir: "fileInfo"
},
resize: false
});
uploader.on('fileQueued', function (file) {
$list.append('<div id="' + file.id + '" class="item">' +
'<h4 class="info">' + file.name + '</h4>' +
'<p class="state">等待上传...</p>' +
'</div>');
var fileStatusnum = uploader.getStats();
if (fileStatusnum.cancelNum > 0){
$('#WU_FILE_'+(fileStatusnum.cancelNum-1)).remove();
}
});
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, response) {
$('#' + file.id).find('p.state').text('已上传');
$("#fujian").val(response._raw);
var fileStatusnum = uploader.getStats();
$.fn.modalMsg("上传成功", "success");
uploader.removeFile(file);
$('#' + file.id).addClass('upload-state-done-file');
});
uploader.on('uploadError', function (file) {
$('#' + file.id).find('p.state').text('上传出错');
var fileStatusnum = uploader.getStats();
layer.msg("上传失败" + fileStatusnum.uploadFailNum + "个文件", {icon: 1, time: 1000});
});
uploader.on('uploadComplete', function (file) {
$('#' + file.id).find('.progress').fadeOut();
});
});