如何获取上传文件的URL?

时间:2013-10-02 17:46:01

标签: javascript amazon-s3 fine-uploader

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

但是,我无法尝试获取上传文件的网址。

我看到有一个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));

    });

1 个答案:

答案 0 :(得分:4)

您有两种选择:

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

  2. 使用密钥和存储区URL构建URL客户端。

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

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