为什么 dropzone 选项无法加载?
Why do dropzone options fail to load?
我的视图中有一个拖放区,我想设置一些选项来强制文件为 .zip。我还需要允许这些文件更大,并在 returns 时获取一些信息。这些选项似乎没有为我加载,并且 quecomplete 永远不会被击中。
Edit.cshtml:
<div class="row">
<div class="col-8">
<form asp-action="UploadFiles" class="dropzone" id="versionFiles">
</form>
</div>
</div>
@section Scripts {
<script>
$(document).ready(function () {
Dropzone.options.versionFiles = {
acceptedFiles: ".zip",
maxFileSize: 2048,
timeout: 600000,
init: function () {
this.on("queuecomplete", function (file, response) {
console.log(file);
})
}
};
})
</script>
}
编辑:固定超时
避免在 document.ready(function(){ /* ... */ })
内配置 Dropzone 选项。
要解决此问题,请按以下方式更改代码:
$(document).ready(function () {
Dropzone.options.versionFiles = {
acceptedFiles: ".zip",
maxFileSize: 2048,
timeout: 600000,
init: function () {
this.on("queuecomplete", function (file, response) {
console.log("ssssssssssssss",file);
})
}
};
});
[编辑]:
原因是 Dropzone.js
会自动发现所有带有 class 拖放区的表单元素并自动附加到它。如果您通过document.ready(function(){/.../})
配置选项,您不能保证在dropzone生效之前设置选项。
如果您确实需要在文档准备好后触发,您可以使用编程方式来确保顺序:
Dropzone.autoDiscover = false; // disable auto discover
$(document).ready(function () {
Dropzone.options.versionFiles = {
acceptedFiles: ".zip",
maxFileSize: 2048,
timeout: 600000,
init: function () {
this.on("queuecomplete", function (file, response) {
console.log("xyz...",file);
})
}
};
$("#versionFiles").dropzone({ }); // trigger it
});
我的视图中有一个拖放区,我想设置一些选项来强制文件为 .zip。我还需要允许这些文件更大,并在 returns 时获取一些信息。这些选项似乎没有为我加载,并且 quecomplete 永远不会被击中。
Edit.cshtml:
<div class="row">
<div class="col-8">
<form asp-action="UploadFiles" class="dropzone" id="versionFiles">
</form>
</div>
</div>
@section Scripts {
<script>
$(document).ready(function () {
Dropzone.options.versionFiles = {
acceptedFiles: ".zip",
maxFileSize: 2048,
timeout: 600000,
init: function () {
this.on("queuecomplete", function (file, response) {
console.log(file);
})
}
};
})
</script>
}
编辑:固定超时
避免在 document.ready(function(){ /* ... */ })
内配置 Dropzone 选项。
要解决此问题,请按以下方式更改代码:
$(document).ready(function () {Dropzone.options.versionFiles = { acceptedFiles: ".zip", maxFileSize: 2048, timeout: 600000, init: function () { this.on("queuecomplete", function (file, response) { console.log("ssssssssssssss",file); }) } };});
[编辑]:
原因是 Dropzone.js
会自动发现所有带有 class 拖放区的表单元素并自动附加到它。如果您通过document.ready(function(){/.../})
配置选项,您不能保证在dropzone生效之前设置选项。
如果您确实需要在文档准备好后触发,您可以使用编程方式来确保顺序:
Dropzone.autoDiscover = false; // disable auto discover
$(document).ready(function () {
Dropzone.options.versionFiles = {
acceptedFiles: ".zip",
maxFileSize: 2048,
timeout: 600000,
init: function () {
this.on("queuecomplete", function (file, response) {
console.log("xyz...",file);
})
}
};
$("#versionFiles").dropzone({ }); // trigger it
});