我观看了有关该主题的各种对话,很抱歉要重做一个话题,但是我花了整整一天的时间,并且我不明白为什么未定义Dropzone。
在我的控制台中,讲话总是一样的... 未捕获的参考错误:未定义Dropzone
我在哪里错了?
<div action="{{path('document_create')}}" class="dropzone">
<div class="fallback">
{{ form_widget(form.file, {
'attr': {'type': 'file', 'name': 'file'}
}) }}
</div>
</div>
JS:
Dropzone.autoDiscover = false;
$(function() {
//Dropzone class
var myDropzone = new Dropzone(".dropzone", {
url: "upload.php",
paramName: "file",
maxFilesize: 2,
maxFiles: 10,
acceptedFiles: "image/*,application/pdf"
});
$('#startUpload').click(function(){
myDropzone.processQueue();
});
});
答案 0 :(得分:1)
我发布了在symfony和webpack战斗后刚刚找到的解决方案!
诀窍:(适用于Symfony和webpack)
1 /安装dropzone
2 /将文件dropzone.js或dropzone.min.js保留在node_modules中,请勿触摸它们。
3 /创建一个file.js,例如:myDropzone.js
4 /使用以下命令调用myDropzone.js中的Dropzone:
window.Dropzone = require('dropzone/dist/min/dropzone.min');
5 /以及根据您的选择的dropzone配置代码:
Dropzone.autoDiscover = false;
$(function() {
//Dropzone class
$('.dropzone').dropzone({
paramName: "file",
maxFilesize: 2,
maxFiles: 2,
addRemoveLinks: true,
acceptedFiles: "image/*,application/pdf"
});
});