我想使用dropzone来显示服务器上已有的图像的缩略图。我正在为房地产网站创建CMS。服务器具有与属性站点关联的图像。页面加载后,我的dropzone的init函数会在dropzone中以缩略图的形式显示给定站点的相关图像。
页面上有一个下拉框,允许用户选择另一个站点。当他们这样做时,我希望dropbox对象基本上可以再次执行init函数中的操作。呼叫服务器并显示与此其他站点关联的缩略图。
(显然)我还没有找到解决方案。通常,我会收到一些类似的东西,例如“ dropzone still Attached”。我似乎看不到任何有用的文档。
任何帮助将不胜感激:)
//我的dropzone对象
var myDropzone = $('#featured-development-dropzone').dropzone({
url: '@Url.Action("SaveFeaturedDevelopmentImage","Homepage")',
maxFiles: 1,
addRemoveLinks: true,
init: function () {
var myDropzone = this;
$("select").on('click', function () {
myDropzone.removeAllFiles(true);
});
var siteID = $('#siteDropdown').find(':selected').val();
$.ajax({
url: '@Url.Action("GetFeaturedDevelopmentImage", "Homepage")',
data: { siteID: siteID },
type: 'GET',
success: function (data) {
console.log(data);
if (data.data != null) {
var mockFile = {
name: data.filename,
size: data.fileSize
};
// Call the default addedfile event handler
myDropzone.emit("addedfile", mockFile);
console.log(typeof (data));
// And optionally show the thumbnail of the file:
myDropzone.emit("thumbnail", mockFile, "data:image/png;base64," + _arrayBufferToBase64(data.data));
myDropzone.emit("complete", mockFile);
}
}
});
this.on("sending", function (file, xhr, formData) {
formData.append("SiteID", siteID);
formData.append("imageTypeID", 4);
console.log(formData);
});
}
});
var prevSiteID;
$("select").on('click', function () {
prevSiteID = this.value;
}).change(function () {
var newSIteID = this.value;
// potentially put code here that will reinitialize the dropbox and display images associated with different site.
console.log(prevSiteID);
console.log(newSIteID);
changeFeaturedDevelopment(prevSiteID, newSIteID);
答案 0 :(得分:0)
我相信您需要再次调用该功能。因为当您尝试附加新图像时,在页面加载中已经定义了dropzone区域。或者您再次调用该init或尝试重置它,以便该dropzone可以重新附加其他图像。