我建议您考虑使用内置的编辑文件名功能,因为这对我来说似乎最合适,而且肯定是最简单的方法。
另一种方法涉及以下内容:
- 将文件输入字段添加到您的 Fine Uploader 模板。这将保存用户输入的标题值。您可能还需要一些 CSS 以使其看起来适合您的项目。
- 使用设置为的
autoUpload
选项初始化 Fine Uploader false
。这将允许您的用户输入标题,然后通过单击按钮(稍后添加)上传文件。
- 注册一个
onUpload
回调处理程序。setParams
在这里,您将读取存储在文本输入中的关联文件标题的值,并使用API 方法将其绑定到文件。
模板的文件列表部分可能如下所示:
<ul class="qq-upload-list-selector qq-upload-list" role="region" aria-live="polite" aria-relevant="additions removals">
<li>
...
<input class="caption">
</li>
</ul>
并且您的 Fine Uploader 代码将包含此逻辑(重要但不相关的选项,例如request.endpoint
并element
省略以保持对您问题的关注):
var uploader = new qq.FineUploader({
autoUpload: false,
callbacks: {
onUpload: function(id) {
var fileContainer = this.getItemByFileId(id)
var captionInput = fileContainer.querySelector('.caption')
var captionText = captionInput.value
this.setParams({caption: captionText}, id)
}
}
})
作为每个文件上传请求的一部分,您的服务器将收到一个带有相关值的“caption”参数。