Dropzone.js является относительно новым для меня.Я пытаюсь заставить его на самом деле загрузить файл с остальной частью моей отправки формы (которая идет в CMS).Но это не работает.Я вижу, что скрытый файл ввода не имеет атрибута имени:
Вот как выглядит мой (упрощенный) HTML:
<div id="ugc1">
<div class="dz-default dz-message"></div>
<div class="fallback">
<input type="file" name="fields[ugc1]">
</div>
</div>
А вот соответствующий JS / jQuery:
Dropzone.autoDiscover = false;
$("#ugc1").dropzone({
url: "/",
maxFiles : 1,
maxFilesize: '3',
addRemoveLinks: true,
paramName: 'fields[ugc1]',
thumbnailWidth: 420,
thumbnailHeight: 315,
thumbnailMethod: 'crop',
resizeWidth: 420,
resizeHeight: 315,
resizeMethod: 'crop',
acceptedFiles: 'image/*',
// autoProcessQueue: false,
// previewsContainer: '',
hiddenInputContainer: 'form',
dictFileTooBig: 'Please upload a smaller file.',
success: function (file, response) {
var imgName = response;
file.previewElement.classList.add("dz-success");
console.log("Successfully uploaded :" + imgName);
},
error: function (file, response) {
file.previewElement.classList.add("dz-error");
},
init: function() {
var dropzone1 = this
// Create the mock file:
var dzFile1 = $('#ugc1').data("ugc1-file")
var dzFile1Size = $('#ugc1').data('ugc1-filesize')
var mockFile1 = { name: dzFile1, size: dzFile1Size };
if (dzFile1) {
// Call the default addedfile event handler
dropzone1.emit("addedfile", mockFile1);
// And optionally show the thumbnail of the file:
dropzone1.emit("thumbnail", mockFile1, "/assets/images/ugc/" + dzFile1);
}
}
});
Я установил paramName на fields[ugc1]
, потому что это то, что нужно для CMS.Но, как я уже упоминал, он не добавляется в поле ввода скрытого файла (я предполагаю, что он должен).
Не уверен, что мне не хватает, чтобы заставить это работать.