DropZone.js 上传无法以编程方式进行
Posted
技术标签:
【中文标题】DropZone.js 上传无法以编程方式进行【英文标题】:DropZone.js uploading is not working on programmatically 【发布时间】:2018-12-20 06:02:43 【问题描述】:我正在以编程方式处理 dropzone js。这是我的 div,
<div class="dropzone" id="my-dropzone">
<div class="dz-message">
<div class="col-xs-8">
<div class="message">
<p>Drop files here or Click to Upload</p>
</div>
</div>
</div>
<div class="fallback">
<input type="file" name="file" multiple>
</div>
</div>
而 rpzone 类是 // Dropzone类:
var myDropzone = new Dropzone("div#my-dropzone", url: "/file/post");
但是当我将图像拖放到 dropzone 框时,图像是带有十字符号的预览(不成功上传)。那么我该如何解决这个问题呢? dropzone.confif.js
var total_photos_counter = 0;
Dropzone.options.myDropzone =
uploadMultiple: true,
parallelUploads: 2,
maxFilesize: 5,
previewTemplate: document.querySelector('#preview').innerhtml,
addRemoveLinks: true,
dictRemoveFile: 'Remove file',
dictFileTooBig: 'Image is larger than 16MB',
timeout: 10000,
init: function ()
this.on("removedfile", function (file)
$.post(
url: '/images-delete',
data: id: file.name, _token: $('[name="_token"]').val(),
dataType: 'json',
success: function (data)
total_photos_counter--;
$("#counter").text("# " + total_photos_counter);
);
);
,
success: function (file, done)
total_photos_counter++;
$("#counter").text("# " + total_photos_counter);
;
【问题讨论】:
没有办法解决这个问题? 控制台有错误吗? 控制台没有任何错误 带有以下表单标签 工作正常,但使用 div 则无法正常工作.... 澄清一下,你用的是第一个sn-pnew Dropzone()
吗?第二个 sn-p Dropzone.options.myDropzone =
?还是两者兼而有之?
【参考方案1】:
花了很长时间才找到解决方案。问题是 csrf_field() 没有在我的 div 标签中配置, 首先将此添加到您的主刀片模板中:
<meta name="csrf-token" content=" csrf_token() ">
然后配置dropzone.config.js文件到csrf
Dropzone.options.myDropzone =
uploadMultiple: true,
parallelUploads: 2,
maxFilesize: 16,
previewTemplate: document.querySelector('#preview').innerHTML,
addRemoveLinks: true,
dictRemoveFile: 'Remove file',
dictFileTooBig: 'Image is larger than 16MB',
timeout: 10000,
init: function ()
this.on("removedfile", function (file)
$.post(
url: '/images-delete',
data: id: file.name, _token: $('[name="_token"]').val(),
dataType: 'json',
success: function (data)
total_photos_counter--;
$("#counter").text("# " + total_photos_counter);
);
);
,
success: function (file, done)
total_photos_counter++;
$("#counter").text("# " + total_photos_counter);
,
sending: function(file, xhr, formData)
formData.append('_token', $('meta[name="csrf-token"]').attr('content'));
;
现在使用正确的网址可以正常工作
【讨论】:
以上是关于DropZone.js 上传无法以编程方式进行的主要内容,如果未能解决你的问题,请参考以下文章
Dropzone.js 不再将多个 imgs 上传到 Android 上的网站