You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中使用amplify_flutter上传文件至不同AWS S3存储桶?

如何在Flutter Amplify中新增S3存储桶并指定上传目标

一、创建照片专用的S3存储桶

直接用Amplify CLI新增存储桶最省心,它会自动更新配置文件:

  • 打开终端,在项目根目录运行 amplify add storage
  • 选择 Content (Images, audio, video, etc.) 作为存储类型
  • 给新存储桶起一个全局唯一的名称(比如my-app-photos-bucket)
  • 配置权限:根据需求选择允许上传、下载等操作(比如针对照片场景,选允许认证用户上传和下载)
  • 最后运行 amplify push 完成部署,此时你的amplifyconfiguration.dart会自动新增这个存储桶的配置信息

二、上传文件时指定目标存储桶

在调用uploadFile方法时,通过options参数指定目标存储桶即可,无需修改默认配置:

Amplify.Storage.uploadFile(
  local: photoFile, // 你的照片文件对象
  key: 'user-photos/avatar.jpg', // 存储在S3中的键路径
  options: const StorageUploadFileOptions(
    bucket: 'my-app-photos-bucket', // 替换成你刚创建的照片存储桶名称
  ),
  onProgress: (TransferProgress progress) {
    // 可选:处理上传进度
  },
);

注意事项

  • 存储桶名称必须在全球AWS S3中唯一,创建时如果提示重复,换个名字就行
  • amplify push完成后,记得重启你的Flutter应用,确保新配置生效
  • 权限配置要匹配业务需求,比如如果允许未认证用户上传,要在CLI配置时选择对应的选项

内容的提问来源于stack exchange,提问作者sm-sayedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:05:03