问题描述
在我当前的 Flutter 项目中,我无法在使用 amplify 将文件上传到 S3 时传递 ACL:public-read 属性。
因此,每当我将新文件上传到 s3 时,我都需要手动将其公开。 所以我只想上传一个新文件,每个人都有公共读取权限。
我为 Javascript 项目找到了一些解决方案,但在 Flutter 项目中找不到。
Future<String> uploadFile(String fileName,File local) async {
try {
Map<String,String> Metadata = <String,String>{};
Metadata['name'] = 'filename';
Metadata['desc'] = 'A file';
S3UploadFileOptions options = S3UploadFileOptions(accessLevel: StorageAccessLevel.guest,Metadata: Metadata);
UploadFileResult result = await Amplify.Storage.uploadFile(key: fileName,local: local,options: options);
return result.key;
} catch (e) {
print('UploadFile Err: ' + e.toString());
}
return null;
}