setDeleteFileParams似乎不起作用

时间:2015-10-25 21:29:16

标签: javascript fine-uploader

我在基本模式下使用5.3.2,因为我需要控制UI。

我添加了代码以允许上传,然后创建了一些可以触发删除的UI元素。我在删除时需要知道文件名。所以我使用了setDeleteFileParams,但没有附加任何请求。

var uploader = new qq.FineUploaderBasic({

button: document.getElementById('btnUploadFiles'),
debug: true,
autoUpload: true,

request: {
paramsInBody: true,
endpoint: '../myendpoint.htm',
params: {
    tempID: 'myidwhatever'
    }
},
deleteFile: {
    enabled: true,
    forceConfirm: false,
    method: 'POST',
    endpoint: '../myendpoint.htm'

},

callbacks: {

    onSubmitted: function(id, name){
        //do work
    },
    onDelete: function(id) {
        this.setDeleteFileParams({filename: this.getName(id)}, id);
    },
    onDeleteComplete: function(UID, xhr, isError){
        //remove my UI element
    },



    onComplete: function(UID, name, responseJSON, xhr) {
        //create an element and stick it in


    }

}


})
//ADD THE DELETE BUTTON ACTIONS

$('uploadedFiles').addEvent("click:relay(.deleteMyFile)", function(event, element) {
    event.preventDefault();
    arr = element.id.split('_')
    uploader.deleteFile(arr[1]);
});

我使用Mootools作为我的JS框架。一切都触发正常,当我删除文件时控制台正确地记录文件名但是当我查看请求时没有'filename'参数。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

当您调用onDeleteFile回调时,该文件已设置为已删除。如果您想影响(或阻止)潜在请求,则需要将您的逻辑置于onSubmitDelete callback handler instead内。

例如:

callbacks: {
    onSubmitDelete: function(id) {
        console.log(this.getName(id));
        this.setDeleteFileParams({filename: this.getName(id)}, id);
    }
}