Я использую dropzone с нокаутом. Я хочу добавить существующие файлы в dropzone. Мой Dropzone пользовательские привязки кода (см только код для добавления существующих файлов, добавление новых файлов работает отлично):Dropzone добавить существующие файлы
ko.bindingHandlers.dropzone = {
init: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
var options = {
maxFileSize: 15,
uploadMultiple: true,
parallelUploads: 100,
maxFiles: 30,
addRemoveLinks: true,
acceptedFiles: ".jpeg,.jpg,.png,.gif",
init: function() {
var myDropzone = this;
this.on("success", function (file, serverFileName) {
fileList = [];
i = 1;
var abc = $.map(serverFileName, function (item) { return (item); });
$.each(abc, function (index, value) {
fileList[i] = { "fileName": value, "fileId": i++ };
})
});
if (images) {
for (i = 0; i < images.length; i++) { //data in images array is shown in figure
myDropzone.emit("addedfile", images[i]);
myDropzone.emit("thumbnail", images[i], "/Images/Ads/");
myDropzone.emit("complete", images[i]);
}
}
}
};
$.extend(options, value);
$(element).addClass('dropzone');
new Dropzone(element, options);
}
};
Данные в images
массиве:
И мой HTML код:
<form id="my-awesome-dropzone" data-bind="dropzone: { url: '/Electronics/FileUploadHandler' }"method="post" enctype="multipart/form-data">
<h2>Add Images</h2>
<div id="dropzonePreview" class="dz-default dz-message"> </div>
</form>
В настоящее время добавленные существующие изображения показаны на рисунке.
Почему эскиз изображений не отображается? И когда я наводил «Удалить файл», ссылка, которая отображается в нижней левой части браузера, равна javascript:undefined;
. И когда я нажимаю «Удалить файл», файл удаляется, но отображается «Отбросить изображения для загрузки», которое должно быть видимым только в том случае, если в dropzone нет изображений. Что я делаю неправильно?
все зависит от того, как вы настроили свой макет файла! – Gacci