我正在使用fine-uploader 4.0.3 版,我尝试使用setName 和getName 方法在提交文件后编辑原始文件名。
.on('submit', function (event, id, name) {
$("#fine-uploader").fineUploader({setName: {id: "test"}})
})
但这不起作用!
你能给我一个代码示例我如何通过 api 使用 setName 方法吗?
谢谢!
迈克尔
我正在使用fine-uploader 4.0.3 版,我尝试使用setName 和getName 方法在提交文件后编辑原始文件名。
.on('submit', function (event, id, name) {
$("#fine-uploader").fineUploader({setName: {id: "test"}})
})
但这不起作用!
你能给我一个代码示例我如何通过 api 使用 setName 方法吗?
谢谢!
迈克尔
如果您通过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。您会注意到传递给提交回调的名称参数也是陈旧的。这是支持此工作流程的工作完成后应解决的另一个问题。