使用 Fine Uploader 时保留文件名

Retaining File names when using 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
    },
});

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

是的,这是预期的。默认情况下,Fine Uploader S3 在将其发送到 S3 存储桶时将使用 UUID 来命名您的 object。在几乎所有情况下,这是 最安全的 行为。如果更改此值,您 运行 有在名称冲突时用新文件覆盖现有文件的风险。 object 注释为附加到 "x-amz-meta-qqfilename" header.

的原始文件名

如果必须使用不同的名称将object保存在S3中,可以适当修改objectProperties.key选项。 "filename" 的值将使用原始文件名保存 object。您还可以将值设置为一个函数,您可以在其中确定名称 on-demand,甚至可以使用其他位置的值,前提是您的键函数 returns 是 Promise。在 http://docs.fineuploader.com/api/options-s3.html#objectProperties.key.

阅读有关此选项的更多信息