在同一个jsp中使用多个上传器时,使用FineUploader删除文件时出错

时间:2013-09-24 20:26:16

标签: file-io fine-uploader

我使用FineUploader上传了几个文件,我有一个取消按钮来停止上传过程并删除所有已上传的文件。

服务器代码:

public void doDelete(final HttpServletRequest req, final HttpServletResponse resp) throws IOException {
    String uuid = req.getPathInfo().replaceAll("/", "");
    FileUtils.deleteUploadedFile(uuid);
    resp.setStatus(successResponseCode);
}

FineUploader定义

myUploader = new qq.FineUploader({
    element: $('#file-uploader')[0],
    multiple: false,
    autoUpload: true,
    deleteFile: {enabled: true, forceConfirm: false, endpoint: '/upload-portlet/fineupload/receiver'},
...
});

imageUploader = new qq.FineUploader({
    element: $('#image-uploader')[0],
    multiple: false,
    autoUpload: true,
    deleteFile: {enabled: true, forceConfirm: false, endpoint: '/upload-portlet/fineupload/receiver'},
...
});

clearFiles方法

function clearFiles() {
    if (myUploader && myUploader.getUploads()) {
        var array = myUploader.getUploads();
        for (var i = 0; i < array.length; i++) {
            myUploader.deleteFile(array[i].id);
        }
    }
    if (imageUploader && imageUploader.getUploads()) {
        var array = imageUploader.getUploads();
        for (var i = 0; i < array.length; i++) {
            imageUploader .deleteFile(array[i].id);
        }
    }
}

这不适用于imageUploader,但适用于myUploader。我得到imageUploader的错误:“对象没有方法'getUploads'”。

如果我通过

修改clearFiles方法
function clearFiles() {
    if (myUploader && myUploader.getUploads()) {
        var array = myUploader.getUploads();
        for (var i = 0; i < array.length; i++) {
            myUploader.deleteFile(array[i].id);
        }
    }
    var array = document.getElementsByClassName("qq-upload-delete");
    for (var i = 0; i < array.length; i++) {
        array[i].style="display: inline;";
        array[i].click();
    }
}

有效。 imageUploader和myUploader的模板是相同的。

知道为什么我可以让“对象没有方法'getUploads'”错误?

0 个答案:

没有答案