Flutter通过cognito(poolID)访问S3上传文件

411 阅读1分钟

使用插件:amazon_s3_cognito

然后引入头文件

import 'package:amazon_s3_cognito/amazon_s3_cognito.dart';
import 'package:amazon_s3_cognito/aws_region.dart';
import 'package:amazon_s3_cognito/image_data.dart';

然后完整代码

 ImageData imageData = ImageData(
        audioFileName, 
        audioPath,
        uniqueId: audioFileName, //文件的唯一标识
        imageUploadFolder: "shl" //文件上传至哪个路径
    );

String? uploadedImageUrl = await AmazonS3Cognito.upload(
    "you bucket",
    "you poolID",
    AwsRegion.CN_NORTH_1,//选择自己库的Region
    AwsRegion.CN_NORTH_1,
    imageData);
print("uploadedImageUrl$uploadedImageUrl");

如果成功 uploadedImageUrl 会返回路径,暂时不知道怎么查看上传进度。

7月1号更新:

改插件在安卓设备中编译报错。

image.png

查了半天资料都为找到解决办法后,自己注释掉了这个文件中的这段代码。 /Users/SSL/development/flutter/.pub-cache/hosted/pub.flutter-io.cn/amazon_s3_cognito-0.7.4/android/src/main/kotlin/com/famproperties/amazon_s3_cognito/AmazonS3CognitoPlugin.kt: (44, 33):

image.png

编译通过,并可以正常上传文件。