我有以下代码:
CODE JS:
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("div#myDrop", {
url : "<?php echo $this->serverUrl() . '/profile/ajax/dzupload'; ?>",
paramName : 'profilepicture',
acceptedFiles : "image/*",
maxFiles : 1,
addRemoveLinks : true,
init : function() {
this.on("success", function(file, responseText) {
$('#profilePicture').attr("value", responseText.filename);
console.log(responseText);
});
this.on("maxfilesexceeded", function(file){
this.removeFile(file);
alert("You are not allowed to chose more than 1 file!");
});
this.on("removedfile", function (file){
$.ajax({
method: 'POST',
url: '<?php echo $this->serverUrl() . '/profile/ajax/dzdelete' ?>',
data: {
area : 'company-profile',
name : $('#profilePicture').attr('value')
},
success: function(result){
$('#profilePicture').attr("value", '')
console.log(result);
}
})
});
}
});
var fileName = $('#profilePicture').val();
var mockFile = { name: fileName, size: 12345 };
myDropzone.options.addedfile.call(myDropzone, mockFile);
myDropzone.options.thumbnail.call(myDropzone, mockFile, "<?php echo $this->serverUrl().'/public/profile/'.'usr'.$practitionerInfo->user_id.'/picture/'.$practitionerInfo->profilepicture ?>");
我想检查是否已经加载了图像...如果没有那么可以让你添加另一个图像,直到我删除前一个
我尝试了以下代码,但它不起作用
if(!myDropzone.file.length()){
//allow to upload file
}else{
alert("please remove existing file");
}
我该怎么做?我希望我能够很好地解释。
修改
如果您添加此代码0但是图片已添加为默认值,应为1,对吧?
console.log(myDropzone.files.length) //return 0
答案 0 :(得分:0)
你几乎拥有它。由于myDropzone.files
是一个数组,myDropzone.files.length
会告诉您是否有任何选定的文件。
if (!myDropzone.files || !myDropzone.files.length) {
// allow to upload file
} else {
alert("please remove existing file");
}
我包含了一个!myDropzone.files
支票,因为我在初始化此属性时并不是100%确定,所以当您尝试检查其长度时,它可能是未定义的。