删除文件时面临dropzonejs中的问题

时间:2015-05-01 10:34:59

标签: javascript dropzone.js

我使用以下代码来使用dropzonejs:

$(".dropzone").dropzone({ 
        url: "/ehr/postEHRFile" , 
        addRemoveLinks: "dictRemoveFile" ,
        maxFilesize: 5,
        maxFiles: 5,
        dictDefaultMessage: '<i class="fa fa-cloud-upload"></i> \
         <span class="main-text"><img src="<?php echo URL."public/images/cloud.png"; ?>" style="width:70px;opacity:0.5;"> <br /> \
         <span class="main-text"><b>Drop Files</b> to upload</span> <br /> \
         <span class="sub-text">(or click)</span> \
        ',
        dictResponseError: 'Server not Configured',
        clickable: true,
        headers: { "userid" : "<?php echo $this->user['id']; ?>" }  ,
        success: function (response) {
            var x = JSON.parse(response.xhr.responseText);
            if(x.error){
                alert(x.message);
                this.removeAllFiles();
            }else{
                if($("input[name='ehr_files']").val() == ''){
                    $("input[name='ehr_files']").val(x.path+':'+x.ftype+':'+x.fname);
                }else{
                    $("input[name='ehr_files']").val($("input[name='ehr_files']").val()+','+x.path+':'+x.ftype+':'+x.fname);
                }
            }
        },
        removedfile: function(file) {
            var _ref;
            return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
        }
    });

success中,我将文件详细信息分配到隐藏字段中,例如 ImagePath:ImageType:ImageName,ImagePath:ImageType:ImageName.......等等。

我这样做是为了将所有文件详细信息保存在隐藏字段中(可能是多个文件,因此使用逗号分隔)并将使用这些文件稍后保存到数据库中。

当用户从dropzonejs面板中删除文件时,我还需要从隐藏字段中删除它的详细信息,以便它不会保存在数据库中。

问题:

1)我可以使用file.name来获取该文件,我可以从隐藏字段中删除该记录,但文件名可能不是唯一的。

2)我也无法在成功功能中访问file对象。如果有可能,我会添加一个唯一的ID来识别。

3)如果我能够获取文件索引,即第二个数字文件或第三个数字文件,我可以删除,但我不知道如何获取索引。

1 个答案:

答案 0 :(得分:0)

经过几个小时的搜索并尝试了不同的概念,我终于解决了我的问题。 所以分享我更新的代码。

{{1}}