如果找不到图片,如何显示来自 Dropzone.js 的上传框 | Laravel 5.2

How to show upload box from Dropzone.js if no image is found | Laravel 5.2

我的个人资料上传有问题。我正在使用 laravel 5.2,我正在使用 Dropzone.js 插件上传用户个人资料照片。我的问题是,当我上传个人资料照片时,我将其设置为 maxFilesize 1。因此它一次只能上传 1 张照片。但是,上传完成后,用户可以返回并再上传一张照片,这样用户的头像就会有 2 张照片。

如果用户已经有个人资料照片,我需要这样做,所以 dropzone 上传框不会显示,直到删除个人资料照片或没有任何照片。 Dropzone 上传框如下所示:

这是我的 Dropezone.js 脚本:

<script>
                Dropzone.options.addPhotosForm = {
                     paramName: 'photo',
                     maxFilesize: 2,
                     acceptedFiles: '.jpg, .jpeg, .png, .bmp',
                     maxFiles: 1,
                        // Refresh page when upload is complete.
                        init: function () {
                                this.on("queuecomplete", function (file) {
                                         if (this.getUploadingFiles().length === 0 && this.getQueuedFiles().length === 0) {
                                            location.reload();
                                         }
                                });
                        }
                }
        </script>

照片显示方式如下:

@foreach ($user->photos as $photo)
         <form method="post" action="{{ route('profile.destroy', ['id' => $photo->id]) }}" enctype="multipart/form-data">
             {!! csrf_field() !!}
             <input type="hidden" name="_method" value="DELETE">
             <button type="submit" class="close">&times;</button>
             <img class="ui small circular image" src="/travels/{{ $photo->thumbnail_path }}" alt="" data-id="{{ $photo->id }}">
         </form>
@endforeach

这是我的文件上传表格:

<form 
    action="/travels/{{ $user->username }}/photos" 
    method="post" 
    class="dropzone" 
    id="addPhotosForm" 
    enctype="multipart/form-data">
        {{ csrf_field() }}
</form>

这是我不想要的 2 张或更多个人资料照片的结果

我用 3 jQuery 行就搞定了

if($('#image').length){
     $('#FormUpload').hide();
}

如果有的话,我在实际图像中添加了#image 并将#Formupload 添加到实际的表单上传框,并检查图像是否出现在页面上然后隐藏上传框