簡體   English   中英

DropZone.js確定何時成功上傳

[英]DropZone.js determine when successful upload

我正在使用Dropzone.js上載Excel文件,然后將其內容導入到數據庫中的表中。

目前,我的C#中有一些方法可以檢查正在上傳的文件,以確保該文件有效(檢查標頭行)並且可以將其導入數據庫。

從理論上講,驗證工作正常,就像DropZone.js一樣。 但是,無論文件是否通過驗證並被導入,DropZone都將始終顯示“ tick / check”標記-通知用戶操作已成功完成。

這是我的Dropzone:

Dropzone.options.forecastDropzone = {
    init: function () {
        thisDropzone = this;
        this.on("success", function (file, Message) {
            console.log(Message.Message)
            toastr.info(Message.Message, {
                timeOut: 0, tapToDismiss: true, preventDuplicates: true
            });
        });
    },
};

HTML:

<form action="/Power/Upload" class="dropzone" id="forecastDropzone"></form>

還有被稱為“上傳”的方法:

[HttpPost]
    public ActionResult Upload()
    {
        string filename = "";
        string path = "";
        try
        {
            foreach (string fileName in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[fileName];
                path = AppDomain.CurrentDomain.BaseDirectory + "Uploads/";
                filename = Path.GetFileName(Request.Files[fileName].FileName);
                Request.Files[fileName].SaveAs(Path.Combine(path, filename));
                ValidateExcel(path, filename);
            }
        }               
        catch
        {
            isSavedSuccessfully = false;
        }

        return Json(isSavedSuccessfully == true ? new { Message = "Successfully Saved!" } : new { Message = "Error in saving file" });

    }

因此,Upload方法返回一個JSON對象。 我希望DropZone根據JSON中的值確定保存/導入是否成功。 這可能嗎?
非常感謝

與其嘗試解析JSON響應並處理錯誤客戶端,不如讓您的服務器對此負責。

具體來說:上載失敗時,讓服務器返回HTTP 200響應成功以外的內容。 如果DropZone從服務器收到4xx5xx響應,它將把上載視為失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM