0

我已成功将文件上传到 S3。

但是,我在尝试获取已上传文件的 URL 时遇到了麻烦。

我看到有一个 getKey 方法,但它似乎不像我想的那样工作。

本质上,我试图用上传文件的链接替换列出的文件的名称。如果上传的人无法获得文件的链接,则上传文件是没有用的。

所以我一直在尝试获取上传对象的 URL 或密钥,并计划在“完成”事件中修改文件名文本。

也许有更好的方法来修改最终的文件名文本。

这是我似乎不起作用的:

    }).on('complete', function (event, id, name, responseJSON) {

    // Fails, not using the fineuploader object correctly, manualuploader is the fineuploader object.
    console.log("Object Key:+manualuploader.getKey(id));

    });
4

1 回答 1

4

你有两个选择:

  1. 通过 AWS 开发工具包服务器端获取文件的签名 URL,并在您对 Fine Uploader 的 uploadSuccess 请求的响应中返回该 URL。它将通过响应参数提供给您的“完整”事件处理程序。

  2. 使用密钥和存储桶 URL 构造 URL 客户端。

如果您的文件不可公开查看,则必须使用选项 1。Fineuploader.com 上的演示使用选项 1。在大多数情况下,这是最合适的方法,除非您可以允许任何人永远从您的存储桶中尽可能多地流式传输文件。

getKey此外,如果您在使用 jQuery 插件时尝试在 Fine Uploader 实例上调用该方法或任何其他方法,则必须按照 jQuery 插件文档中的说明进行操作。您在上面的代码中对方法的调用getKey与文档不一致。您需要像这样调用 getKey $("#uploader").fineUploaderS3("getKey", id)

于 2013-10-02T17:54:01.790 回答