使用Fine Uploader时保留文件名

时间:2015-11-04 22:01:08

标签: fine-uploader

我正在尝试首次实现Fine Uploader并提出问题。我有上传器将文件推送到我的S3桶。我遇到的问题是文件被重命名为某种字符串。

以下是一个例子:4f65aefe-c55b-42b0-afd4-b749c755e7e8.zip

如果可能,我想保留原始文件名。那可能吗?

这是页面上的脚本,其中包含我当前的参数集:

var uploader = new qq.s3.FineUploader({
    element: document.getElementById("fineUploader"),
    request: {
        endpoint: "mybucket.amazonaws.com",
        accessKey: "ABCDEFGHIJKLMNOP"
    },
    signature: {
        endpoint: "/wp-content/themes/zone/vendor/fineuploader/php-s3-server/endpoint.php"
    },
    iframeSupport: {
        localBlankPagePath: "/wp-content/themes/zone/success.html"
    },
    cors: {
        expected: true
    },
    chunking: {
        enabled: true
    },
    resume: {
        enabled: true
    },
});

我错过了什么吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

是的,这是预料之中的。默认情况下,Fine Uploader S3在将对象发送到S3存储桶时将使用UUID命名对象。几乎在所有情况下,这都是最安全的行为。如果更改此值,则存在在名称冲突时使用新文件覆盖现有文件的风险。该对象使用附加到“x-amz-meta-qqfilename”标头的原始文件名进行注释。

如果必须使用其他名称在S3中保存对象,则可以相应地修改objectProperties.key选项。值“filename”将使用原始文件名保存对象。您还可以将值设置为一个函数,您可以根据需要确定名称,即使使用其他位置的值,只要您的键函数返回Promise即可。请在http://docs.fineuploader.com/api/options-s3.html#objectProperties.key了解有关此选项的详情。