Dropzone - 上传图片的时间

Dropzone - Timings to upload Images

我正在使用 Dropzone 在表单上上传图像。我正在覆盖 'addedFile' 函数来执行一些自定义功能以在本地存储上传的图像。所以,我可以在提交表单时获取这些图像。我正在使用以下代码:

$dropzone.dropzone({
            url: "/file-upload",
            autoProcessQueue: false,
            uploadMultiple: true,
            parallelUploads: 6,
            maxFiles: 6,
            maxFilesize: 2.5,
            addRemoveLinks: true,

            init: function () {
                this.on("addedfile", function (file) {
                    $("#FileUploadErrorMessage").val("");
                    var uniqueId = document.getElementById("UniqueId").value;

                    setTimeout(function () { 
                        var model = {
                            FileName: uniqueId + "-" + file.name,
                            Base64Url: file.dataURL
                        };

                        var defaults = {};
                        var extendedModel = $.extend(defaults, model);

                        $.ajax({
                           // Send '**model**' variable to controller action to store file in 
                           // local directory
                        });
                    }, 3000);
                });
...

我不得不在我的 AJAX 函数周围添加 3 秒超时,因为“file”变量(发送到函数)直到dropzone 已完成将文件添加到插件。但是,我需要找到一种更好的方法,这样我就不必设置 3 秒超时来等待“file”变量,因为在某些情况下,时间刻度将图像上传到插件和点击此功能之间的时间超过 3 秒,导致“file”变量在点击 AJAX 功能时未定义。

有人可以帮忙吗?

这是因为在触发 addedFile 事件时尚未设置 file.dataURL 属性。看到这个 post - .

您正在设置超时,以便为 DropZone 提供足够的时间来填充值。但缺点是事情可能需要比你设置的时间更长的时间。