go sdk追加上传
详细解答可以参考官方帮助文档OSS支持可追加的文件类型,通过Bucket.AppendObject来上传可追加的文件,
调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存
在的文件,这个位置必须是追加前文件的长度。
文件不存在时,调用AppendObject会创建一个可追加的文件;
文件存在时,调用AppendObject会向文件末尾追加内容。
提示:
追加上传的示例代码在sample/append_object.go。
import 'strings'
import 'github.com/aliyun/aliyun-oss-go-sdk/oss'
client, err := oss.New('Endpoint', 'AccessKeyId', 'AccessKeySecret')
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket('my-bucket')
if err != nil {
// HandleError(err)
}
var nextPos int64 = 0
// 第一次追加的位置是0,返回值为下一次追加的位置
nextPos, err = bucket.AppendObject('my-object', strings.NewReader('YourObjectValue'), nextPos)
if err != nil {
// HandleError(err)
}
// 第二次追加
nextPos, err = bucket.AppendObject('my-object', strings.NewReader('YourObjectValue'), nextPos)
if err != nil {
// HandleError(err)
}
// 您还可以进行多次Append
注意:
只能向可追加的文件(即通过AppendObject创建的文件)追加内容
可追加的文件不能被拷贝
第一次追加时,即位置开始位置是0的追加,您可以指定文件(Object)的元信息;除了第一次追加,其它追加不能指定元信息。
// 第一次追加指定元信息
nextPos, err = bucket.AppendObject('my-object', strings.NewReader('YourObjectValue'), 0, oss.Meta('MyProp', 'MyPropVal'))
if err != nil {
// HandleError(err)
}
赞0
踩1