// 上传一个文件,支持断点续传和分块上传。 // 和 Rput 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.ReaderAt 来访问。 // // ctx 是请求的上下文。 // ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。 // key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 // localFile 是要上传的文件的本地路径。 // extra 是上传的一些可选项。详细见 RputExtra 结构的描述。 // func (p Bucket) RputFile( ctx Context, ret interface{}, key, localFile string, extra *RputExtra) (err error) { uploader := kodocli.Uploader{Conn: p.Conn.Client, UpHosts: p.Conn.UpHosts} uptoken := p.makeUptoken(key) return uploader.RputFile(ctx, ret, uptoken, key, localFile, (*kodocli.RputExtra)(extra)) }