我们正在使用带有S3存储的pickAndStore API,但不希望将额外的唯一键添加到文件名中。有什么办法可以解决这个问题吗?如果没有,是否可以在api选项中添加一些东西? 这导致我们很多问题,可能会从用户多次上传到同一文件的S3,但名称不同,这会占用空间。我们希望覆盖新上传。
答案 0 :(得分:0)
遇到同样的问题,可以用不同的方式解决:
1)首先使用'pick'API,然后使用'path'选项{ path: 'myfilename.txt' }
使用'store'API保存文件名
请记住,您需要知道“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中执行,但不使用“存储”调用,只需“选择”然后获取文件元数据。
希望有所帮助并给你一些指导。