首頁 >後端開發 >php教程 >javascript - 多次ajax上傳的圖片,如何刪除? ?

javascript - 多次ajax上傳的圖片,如何刪除? ?

WBOY
WBOY原創
2016-08-04 09:19:581098瀏覽

當前,我的程式設定是,前端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」,每次新上傳到服務端,根據名稱刪除原來的圖片。

對於這種細節優化的建議:

  1. 拿到圖片,點擊上傳之後,開始上傳

  2. 每次拿到圖片,可以存一下檔案名稱+時間到變數裡,當使用者點擊多次上傳的時候,把檔案名稱+時間和變數對比,如果一致,則不再處理這次請求(使用者檔案名稱+時間一致的情況太少,此處可略掉進一步容錯處理了)

  3. 如果發現圖片不一致,並且第一次請求還沒有中斷,則ajax abort掉請求,發起第二次上傳

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn