在上传到Amazon S3时,我在哪里指定FineUploader创建的服务器名称的格式或模式?我需要更好地控制如何在S3上创建文件名和路径。感谢。
答案 0 :(得分:2)
使用objectProperties.key
选项。
您可以提供String
值或将预期密钥作为String
返回的函数。
以下示例演示如何设置密钥并执行阻止操作($.post
)。它使用jQuery插件
// <snip>
objectProperties: {
key: function(fileId) {
var keyRetrieval = new qq.Promise(),
filename = $("#fineUploader").fineUploader("getName", fileId);
$.post("createKey.html", {name: filename})
.done(function(data) { keyRetrieval.success(data.key); })
.fail(function() { keyRetrieval.failure(); });
return keyRetrieval;
}
},
// </snip>
一个更简单的例子,
objectProperties: {
key: function(fileId) {
var filename = $("#fineUploader").fineUploader("getName", fileId);
return fileId + "/" + filename;
}
},
请注意,如果您想阻止用户覆盖彼此的文件,您应该将这些密钥设为唯一!将每个上传文件放入具有随机密钥的文件夹中会阻止此操作。