如何检查dropzone中是否已有图像?

时间:2016-03-04 14:28:12

标签: javascript jquery html dropzone.js

我有以下代码:

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

1 个答案:

答案 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%确定,所以当您尝试检查其长度时,它可能是未定义的。