【发布时间】:2013-07-01 23:00:18
【问题描述】:
我们将 pickAndStore API 与 S3 存储一起使用,但不希望将额外的唯一键添加到文件名中。有什么办法可以关闭它吗?如果没有,是否可以在 api 选项中添加一些内容? 这给我们带来了很多问题,可能是用户将同一文件多次上传到 S3,但名称不同,这会占用空间。我们希望新上传的内容被覆盖。
【问题讨论】:
标签: filepicker.io
我们将 pickAndStore API 与 S3 存储一起使用,但不希望将额外的唯一键添加到文件名中。有什么办法可以关闭它吗?如果没有,是否可以在 api 选项中添加一些内容? 这给我们带来了很多问题,可能是用户将同一文件多次上传到 S3,但名称不同,这会占用空间。我们希望新上传的内容被覆盖。
【问题讨论】:
标签: filepicker.io
遇到同样的问题,可以用不同的方式解决:
1) 先使用 'pick' API,然后使用 'store' API 使用 'path' 选项保存文件名 { path: 'myfilename.txt' }
请记住,您需要从 'pick' API 中知道原始文件名才能知道正确的文件扩展名。
这里的问题是文件将被保存两次,因为“pick”调用将使用唯一的文件名自动保存它,然后您使用“store”调用以您自己的方式保存它。
2) 如果您不关心文件名,而只想知道正确的 S3 路径,您可以使用“pickAndStore”API,然后在成功函数上使用“Stat”API 获取 S3 文件路径,像这样:
filepicker.pickAndStore({},
{
location:"S3",
},
function(inkBlob) {
var inkBlob = inkBlob[0];
// Get uploaded file metadata
filepicker.stat(inkBlob, function(metadata) {
var s3Path = metadata.path;
})
});
3) 如果您只想知道正确的 S3 路径(如选项 2 中),您可以像选项 1 中那样做,但不使用“存储”调用,只使用“选择”,然后获取文件元数据。
希望对您有所帮助并给您一些指导。
【讨论】: