// 上传一个文件。 // // ctx 是请求的上下文。 // ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。 // key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 // data 是文件内容的访问接口(io.Reader)。 // fsize 是要上传的文件大小。 // extra 是上传的一些可选项。详细见 PutExtra 结构的描述。 // func (p Bucket) Put( ctx Context, ret interface{}, key string, data io.Reader, size int64, extra *PutExtra) error { uploader := kodocli.Uploader{Conn: p.Conn.Client, UpHosts: p.Conn.UpHosts} uptoken := p.makeUptoken(key) return uploader.Put(ctx, ret, uptoken, key, data, size, (*kodocli.PutExtra)(extra)) }