0

我正在使用fine-uploader 4.0.3 版,我尝试使用setName 和getName 方法在提交文件后编辑原始文件名。

.on('submit', function (event, id, name) { $("#fine-uploader").fineUploader({setName: {id: "test"}}) })

但这不起作用!

你能给我一个代码示例我如何通过 api 使用 setName 方法吗?

谢谢!

迈克尔

4

1 回答 1

1

如果您通过setName API 方法更改文件名称,则在 Fine Uploader UI 中不会自动更新 UI。目前发生这种情况的唯一方法是,如果您使用Fine Uploader UI 的编辑文件名功能直接通过 UI 编辑文件名。

在涵盖此工作流程之前,一种解决方法是自己更新 UI。最简单的方法是在提交的事件处理程序中选择文件列表中的元素,并相应地更改文件名元素的文本。因此,如果您使用的是 jQuery(您是),您的解决方法将如下所示:

$("#fineUploader").fineUploader().on("submitted", function(event, id, name) {
    var $fileItem = $(this).fineUploader("getItemByFileId", id),
        newName = $(this).fineUploader("getName", id);

    $fileItem.find(".qq-upload-file-selector").text(newName);
});

请注意,这必须在您提交的回调(或更高版本)中发生,因为在调用提交的回调之前文件项不会添加到 UI。您会注意到传递给提交回调的名称参数也是陈旧的。这是支持此工作流程的工作完成后应解决的另一个问题。

于 2013-11-05T21:53:34.447 回答