搜索了百度,各社區(qū)剖笙,都沒有該解決方案,又查看了layui.upload.js源碼请唱,各種嘗試后依然無所獲弥咪,重新看了一遍簡短的文檔,突然受到了啟發(fā)十绑,現(xiàn)獨家分享給大家:
1)充分了解三個狀態(tài):choose聚至,before,done本橙。
choose)表示文件選擇后的回調扳躬,注意此時并沒有加入上傳隊列;
before)表示文件上傳前的回調,注意此時已經加入上傳隊列贷币;
done)表示文件上傳成功的回調击胜;
2)要使用choose,必須設置為auto為false
這一步就是精華所在了役纹,很多人都不會設置auto偶摔,而默認值是true自動上傳,自動上傳就無法阻止不上傳了促脉。
所以辰斋,必須要設置auto:false,這樣就可以配合choose了瘸味,在choose宫仗,如果不執(zhí)行obj.upload(index, file)就不會上傳了。
3)代碼分享
layui.use(['layer', 'upload'], function () {
var upload = layui.upload;
upload.render({
elem: '#divUpload'
, url: '/ashx/upload.ashx'
, multiple: true? //多文件上傳
, accept: "file"
, data: { action: 'layupload' }
, auto: false
, choose: function (obj) {
obj.preview(function (index, file, result) {
if ($(".fileName[data-filename='" + file.name.toLowerCase() + "']").length > 0)
alert("文件已存在");
else
obj.upload(index, file);//文件上傳
});
}
, before: function (obj) {
alert("文件開始上傳旁仿,請等待");
}
, done: function (res, index, upload) {
alert("文件上傳成功");
}, error: function (a, b) {
alert("文件上傳發(fā)生錯誤");
}
});
});