说到阿里云上传,多数情况是指把文件存进阿里云对象存储 OSS(Object Storage Service)。OSS 以 Bucket 为单位管理数据,每个 Bucket 归属一个地域,比如华东1(杭州)或华北2(北京)。动手之前,先把 Bucket 名称、地域和读写权限定下来,后面的上传操作都围绕它展开。

地域选得对不对,直接影响访问速度和费用。如果用户主要在华南,Bucket 就建在华南,离用户近,延迟低。服务器也在阿里云上的话,最好用同地域的内网 Endpoint 上传。流量不走公网,速度通常更快,也不会产生公网流出费用。
四种常见的上传方式
控制台手动上传
登录 OSS 控制台,进入目标 Bucket,点“文件管理”,再选“上传文件”即可。偶尔传几个文件,或者第一次摸索流程时用它最省事。文件一多就不合适了,批量处理不方便,也没法写进脚本。
ossutil 命令行批量上传
ossutil 是阿里云官方的命令行工具,适合整个目录一起传。先配置好 AccessKey 和 Endpoint,然后一条命令就能递归上传:
ossutil cp -r ./photos oss://your-bucket/photos/
加上 -u 参数后,只上传有变化的文件。重复执行时,相同内容不会再传一遍,定期同步目录时这一点很省事。
SDK 代码上传
业务系统里自动上传,一般直接调官方 SDK。Python、Java、Go、Node.js 都有对应版本。SDK 会处理重试和分片,你只需要告诉它 Bucket、对象名和本地文件路径。对象名决定文件在 Bucket 里的位置,建议按“业务类型/日期/文件名”来起名,过一段时间再找文件会轻松很多。
前端直传(STS 临时凭证或签名 URL)
用户在浏览器或手机 App 里上传文件时,AccessKey 绝对不能写进前端代码。做法是由后端调用 STS 服务,签发有效期很短的临时凭证,前端拿到凭证后直接把文件传到 OSS。文件不经过自己的服务器,带宽省下来了,密钥泄露的风险也小了。
案例:摄影工作室迁移 2TB 原片
设想一个典型场景。某摄影工作室积累了约 2TB 婚礼原片,存在本地 NAS 上。他们想迁到阿里云,好让几个员工远程调取,同时留一份长期备份。
大致的做法是这样的:
- 在 RAM 控制台给运维人员建子账号,只授予目标 Bucket 的读写权限。主账号的 AccessKey 不要拿出来用。
- 在华东地域建一个标准存储 Bucket,放近期经常要看的照片。
- 用 ossutil 的 cp -r 命令按年份分目录上传。大文件由工具自动分片,中断后能续传,不用从头再来。
- 传完后用 ls 对比文件数量和总大小,确认没有漏掉。
- 给三年前的老照片配置生命周期规则,自动转为低频访问或归档存储,长期保存的费用会低很多。
整个迁移断断续续做了两个晚上。中途网络断开过两次,工具从断点接着传,已经完成的部分没有重复传输。这类场景里,分片和断点续传最值得依赖。
案例:App 用户头像直传
社交类 App 的头像上传是另一个常见场景。用户选好图片后,App 先请求自己的后端。后端确认用户身份,调用 STS 接口拿到一组临时凭证。有效期通常设为几分钟,权限只允许写入该用户自己的目录。App 拿到凭证后直接把头像传到 OSS,再把返回的文件地址提交给后端保存。
这样设计有三层好处。服务器不接收大文件,负载很低。凭证过期就失效,即便被截获,也很难长期被滥用。权限限定在单个目录里,一个用户没办法覆盖别人的文件。
大文件上传要注意什么
- 单次简单上传有大小上限,文件超过上限时要用分片上传(Multipart Upload)。它把文件切成若干块并行传输,最后再合并。
- 分片任务没有完成时,已上传的部分仍占用存储空间,还可能计费。定期清理未完成的分片,或者给 Bucket 配置对应的生命周期规则。
- 网络不稳定时,选支持断点续传的工具,别用浏览器手动上传。中途断开后,浏览器方式不一定能接着传。
- 传完务必校验文件大小或 MD5,迁移重要数据时尤其要做。
安全与费用
- 日常使用 RAM 子账号的 AccessKey,并遵循最小权限原则。主账号密钥一旦泄露,整个账号的资源都可能被滥用。
- AccessKey 不要写进代码仓库、前端页面或日志。放在环境变量或凭据管理服务里更稳妥。
- 公开读的 Bucket 要多看一眼,确认哪些文件真的可以公开访问,避免敏感资料外流。
- 归档存储单价低,但取回数据要等待,还会产生取回费用。只适合很少访问的数据。
- 存储单价、流量费用和请求费用以阿里云官网价格页面为准,价格可能调整,下单前查一下最新版本。
怎么选上传方式
偶尔传几个文件,控制台就够用了。要批量迁移或定期同步目录,用 ossutil。业务系统需要自动上传,接 SDK。面向大量终端用户的场景,用 STS 临时凭证做直传。方式定下来之后,再根据文件大小、网络环境和安全要求调细节,通常就不会走弯路。