Go上传文件

更新时间: 2024-11-26 20:09:10

Go SDK V2提供了各种上传文件的接口,您可以根据使用场景选择适合的接口。

类型

接口名

说明

简单上传

Client.PutObject

  • 简单上传, 最大支持5GiB

  • 支持CRC64数据校验(默认启用)

  • 支持进度条

  • 请求body类型为io.Reader, 当支持io.Seeker类型时,具备失败重传

Client.PutObjectFromFile

  • 与Client.PutObject接口能力一致

  • 请求body数据来源于文件路径

追加上传

Client.AppendObject

  • 追加上传, 最终文件最大支持5GiB

  • 支持CRC64数据校验(默认启用)

  • 支持进度条

  • 请求body类型为io.Reader, 当支持io.Seeker类型时,具备失败重传(该接口为非幂等接口,重传时可能出现失败)

AppendOnlyFile接口

AppendOnlyFile.Write

AppendOnlyFile.WriteFrom

  • 与Client.AppendObject接口能力一致

  • 优化了重传时失败后容错处理

分片上传

分片上传接口

Client.InitiateMultipartUpload

Client.UploadPart

Client.CompleteMultipartUpload

  • 分片上传,单个分片最大5GiB,文件最大48.8TiB

  • UploadPart接口支持CRC64校验(默认启用)

  • UploadPart接口支持进度条

  • 请求body类型为io.Reader, 当支持io.Seeker类型时,具备失败重传

表单上传

/

  • 生成Post签名和Post Policy等信息,并调用HTTP Post方法上传文件到OSS

使用签名URL上传

Client.Presign

  • 生成带有过期时间的PUT方法签名URL,以允许他人临时上传文件

大文件上传管理器

Uploader.UploadFrom

  • 封装了简单上传 和 分片上传接口,最大支持48.8TiB

  • 支持CRC64数据校验(默认启用)

  • 支持进度条

  • 请求body参数类型为io.Reader,当同时支持 io.Reader, io.Seeker 和 io.ReaderAt 类型时,不需要把数据缓存在内存里,否则 必须先把数据缓冲在内存中,然后才能上传该部分

Uploader.UploadFile

  • 与Uploader.UploadFrom接口能力一致

  • 请求body数据来源于文件路径

  • 支持断点续传

上一篇: 对象/文件 下一篇: 简单上传
阿里云首页 对象存储 相关技术圈