0

在哪里指定 FineUploader 在上传到 Amazon S3 时创建的服务器名称的格式或模式?我需要更好地控制如何在 S3 上创建文件名和路径。谢谢。

4

1 回答 1

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;
        }
    },

请记住,如果要防止用户覆盖彼此的文件,则应使这些密钥唯一!将每个上传文件放在一个带有随机密钥的文件夹中可以防止这种情况发生。

于 2013-10-12T16:20:19.657 回答