當前,我的程式設定是,前端ajax修改頭像,然後,將修改後圖片的上傳到後端。
最後發現,當使用者多次點擊上傳按鈕時,圖片會上傳多次。不便刪除。
各位大神,有什麼好的建議嗎?
當前,我的程式設定是,前端ajax修改頭像,然後,將修改後圖片的上傳到後端。
最後發現,當使用者多次點擊上傳按鈕時,圖片會上傳多次。不便刪除。
各位大神,有什麼好的建議嗎?
上傳期間,封鎖上傳按鈕
<code>beforeSend: function () { // 禁用按钮防止重复提交 $("#submit").attr({ disabled: "disabled" }); } </code>
用benforeSend就可以了。 。 。
<code>$.ajax({ type: "", data: "", dataType: "", url: "", beforeSend: function () { // 禁用按钮防止重复提交 $("#submit").attr({ disabled: "disabled" }); }, success: function (data) { }, complete: function () { $("#submit").removeAttr("disabled"); }, error: function (data) { } });</code>
用戶上傳頭像,上傳後頭像的命名可以為「user_用戶ID」,每次新上傳到服務端,根據名稱刪除原來的圖片。
對於這種細節優化的建議:
拿到圖片,點擊上傳之後,開始上傳
每次拿到圖片,可以存一下檔案名稱+時間
到變數裡,當使用者點擊多次上傳的時候,把檔案名稱+時間
和變數對比,如果一致,則不再處理這次請求(使用者檔案名稱+時間一致的情況太少,此處可略掉進一步容錯處理了)
如果發現圖片不一致,並且第一次請求還沒有中斷,則ajax abort
掉請求,發起第二次上傳