我已成功将文件上传到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));
});
答案 0 :(得分:4)
您有两种选择:
通过AWS SDK服务器端获取该文件的签名URL,并在您对Fine Uploader的uploadSuccess请求的响应中返回该URL。它将提供给您的完整"事件处理程序通过响应参数。
使用密钥和存储区URL构建URL客户端。
如果您的文件不可公开查看,则必须使用选项1。 fineuploader.com上的演示使用选项1.在大多数情况下,这是最合适的方法,除非您可以允许任何人永久地从您的存储桶中流式传输文件。
此外,如果您在使用jQuery插件时尝试在Fine Uploader实例上调用getKey
方法或任何其他方法,则必须执行此操作as described in the jQuery plug-in documentation。您在上面的代码中对getKey
方法的调用与文档不一致。您需要像这样调用getKey:$("#uploader").fineUploaderS3("getKey", id)
。