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 提供足够的时间来填充值。但缺点是事情可能需要比你设置的时间更长的时间。
我正在使用 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 提供足够的时间来填充值。但缺点是事情可能需要比你设置的时间更长的时间。