Documentation ¶
Index ¶
- Constants
- func MakeBaseUrl(domain, key string) (baseUrl string)
- func URIChangeMime(bucket, key, mime string) string
- func URIChangeType(bucket, key string, Type FileType) string
- func URICopy(bucketSrc, keySrc, bucketDest, keyDest string) string
- func URIDelete(bucket, key string) string
- func URIMove(bucketSrc, keySrc, bucketDest, keyDest string) string
- func URIRename(bucketSrc, keySrc, bucketDest, keyDest string) string
- func URIStat(bucket, key string) string
- type BatchItemRet
- type BatchStatItemRet
- type Bucket
- func (p Bucket) Batch(ctx context.Context, ret interface{}, op []string) (err error)
- func (p Bucket) BatchCopy(ctx context.Context, entries ...KeyPair) (ret []BatchItemRet, err error)
- func (p Bucket) BatchDelete(ctx context.Context, keys ...string) (ret []BatchItemRet, err error)
- func (p Bucket) BatchMove(ctx context.Context, entries ...KeyPairEx) (ret []BatchItemRet, err error)
- func (p Bucket) BatchRename(ctx context.Context, entries ...KeyPair) (ret []BatchItemRet, err error)
- func (p Bucket) BatchStat(ctx context.Context, keys ...string) (ret []BatchStatItemRet, err error)
- func (p Bucket) ChangeMime(ctx context.Context, key, mime string) (err error)
- func (p Bucket) Copy(ctx context.Context, keySrc, keyDest string) (err error)
- func (p Bucket) Delete(ctx context.Context, key string) (err error)
- func (p Bucket) Fetch(ctx context.Context, key string, url string) (err error)
- func (p Bucket) List(ctx context.Context, prefix, delimiter, marker string, limit int) (entries []ListItem, commonPrefixes []string, markerOut string, err error)
- func (p Bucket) Move(ctx context.Context, keySrc, keyDest string) (err error)
- func (p Bucket) MoveEx(ctx context.Context, keySrc, bucketDest, keyDest string) (err error)
- func (p Bucket) Put(ctx Context, ret interface{}, key string, data io.ReaderAt, size int64, ...) error
- func (p Bucket) PutFile(ctx Context, ret interface{}, key, localFile string, extra *PutExtra) (err error)
- func (p Bucket) PutFileWithoutKey(ctx Context, ret interface{}, localFile string, extra *PutExtra) (err error)
- func (p Bucket) PutWithoutKey(ctx Context, ret interface{}, data io.ReaderAt, size int64, extra *PutExtra) error
- func (p Bucket) Rename(ctx context.Context, keySrc, keyDest string) (err error)
- func (p Bucket) Rput(ctx Context, ret interface{}, key string, data io.ReaderAt, size int64, ...) error
- func (p Bucket) RputFile(ctx Context, ret interface{}, key, localFile string, extra *RputExtra) (err error)
- func (p Bucket) RputFileWithoutKey(ctx Context, ret interface{}, localFile string, extra *RputExtra) (err error)
- func (p Bucket) RputWithoutKey(ctx Context, ret interface{}, data io.ReaderAt, size int64, extra *RputExtra) error
- func (p Bucket) Stat(ctx context.Context, key string) (entry Entry, err error)
- type Config
- type Entry
- type FileType
- type GetPolicy
- type KeyPair
- type KeyPairEx
- type ListItem
- type PutExtra
- type PutPolicy
- type PutRet
- type QiniuClient
- type RputExtra
Constants ¶
const ( TypeNormal = iota TypeLine )
Variables ¶
This section is empty.
Functions ¶
func MakeBaseUrl ¶
MakeBaseUrl 根据空间(Bucket)的域名,以及文件的 key,获得 baseUrl。 如果空间是 public 的,那么通过 baseUrl 可以直接下载文件内容。 如果空间是 private 的,那么需要对 baseUrl 进行私有签名得到一个临时有效的 privateUrl 进行下载。
func URIChangeMime ¶
func URIChangeType ¶
Types ¶
type BatchItemRet ¶
type BatchStatItemRet ¶
type Bucket ¶
type Bucket struct { Conn *QiniuClient Name string }
func NewBucket ¶
func NewBucket(client *QiniuClient, name string) *Bucket
NewBucket 取七牛空间(bucket)的对象实例 @param client 七牛kodo客户端 @param name bucket名称
func (Bucket) BatchDelete ¶
func (Bucket) BatchRename ¶
func (p Bucket) BatchRename(ctx context.Context, entries ...KeyPair) (ret []BatchItemRet, err error)
BatchRename 批量重命名 该操作没有批量api,需要goroutine模拟实现
func (Bucket) ChangeMime ¶
ChangeMime 修改文件的MIME类型。 @param ctx 是请求的上下文。 @param key 是要修改的文件的访问路径。 @param mime 是要设置的新MIME类型。
func (Bucket) Copy ¶
Copy 复制一个文件。 @param ctx 是请求的上下文。 @param keySrc 是要复制的文件的源路径。 @param keyDest 是要复制的文件的目标路径。
func (Bucket) Fetch ¶
Fetch 从网上抓取一个资源并存储到七牛空间(bucket)中 @param ctx 是请求的上下文 @param key 是要存储的文件的访问路径。如果文件已经存在则覆盖 @param url 是要抓取的资源的URL
func (Bucket) List ¶
func (p Bucket) List( ctx context.Context, prefix, delimiter, marker string, limit int) (entries []ListItem, commonPrefixes []string, markerOut string, err error)
List 首次请求,请将 marker 设置为 ""。 无论 err 值如何,均应该先看 entries 是否有内容。 如果后续没有更多数据,err 返回 EOF,markerOut 返回 ""(但不通过该特征来判断是否结束)。
func (Bucket) Move ¶
Move 移动一个文件。 @param ctx 是请求的上下文。 @param keySrc 是要移动的文件的旧路径。 @param keyDest 是要移动的文件的新路径。
func (Bucket) MoveEx ¶
MoveEx 跨空间(bucket)移动一个文件。 @param ctx 是请求的上下文。 @param keySrc 是要移动的文件的旧路径。 @param bucketDest 是文件的目标空间。 @param keyDest 是要移动的文件的新路径。
func (Bucket) Put ¶
func (p Bucket) Put( ctx Context, ret interface{}, key string, data io.ReaderAt, size int64, extra *PutExtra) error
Put 上传一个文件。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。 key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 data 是文件内容的访问接口(io.Reader)。 fsize 是要上传的文件大小。 extra 是上传的一些可选项。详细见 PutExtra 结构的描述。
func (Bucket) PutFile ¶
func (p Bucket) PutFile( ctx Context, ret interface{}, key, localFile string, extra *PutExtra) (err error)
PutFile 上传一个文件。 和 Put 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.Reader 来访问。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。 localFile 是要上传的文件的本地路径。 extra 是上传的一些可选项。详细见 PutExtra 结构的描述。
func (Bucket) PutFileWithoutKey ¶
func (p Bucket) PutFileWithoutKey( ctx Context, ret interface{}, localFile string, extra *PutExtra) (err error)
PutFileWithoutKey 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。 和 PutWithoutKey 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.Reader 来访问。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。 localFile 是要上传的文件的本地路径。 extra 是上传的一些可选项。详细见 PutExtra 结构的描述。
func (Bucket) PutWithoutKey ¶
func (p Bucket) PutWithoutKey( ctx Context, ret interface{}, data io.ReaderAt, size int64, extra *PutExtra) error
PutWithoutKey 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。 data 是文件内容的访问接口(io.Reader)。 fsize 是要上传的文件大小。 extra 是上传的一些可选项。详细见 PutExtra 结构的描述。
func (Bucket) Rename ¶
Rename 重命名一个文件。 @param ctx 是请求的上下文。 @param keySrc 是要移动的文件的旧路径。 @param keyDest 是要移动的文件的新路径。
func (Bucket) Rput ¶
func (p Bucket) Rput( ctx Context, ret interface{}, key string, data io.ReaderAt, size int64, extra *RputExtra) error
Rput 上传一个文件,支持断点续传和分块上传。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。 key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 data 是文件内容的访问接口。考虑到需要支持分块上传和断点续传,要的是 io.ReaderAt 接口,而不是 io.Reader。 fsize 是要上传的文件大小。 extra 是上传的一些可选项。详细见 RputExtra 结构的描述。
func (Bucket) RputFile ¶
func (p Bucket) RputFile( ctx Context, ret interface{}, key, localFile string, extra *RputExtra) (err error)
RputFile 上传一个文件,支持断点续传和分块上传。 和 Rput 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.ReaderAt 来访问。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。 key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 localFile 是要上传的文件的本地路径。 extra 是上传的一些可选项。详细见 RputExtra 结构的描述。
func (Bucket) RputFileWithoutKey ¶
func (p Bucket) RputFileWithoutKey( ctx Context, ret interface{}, localFile string, extra *RputExtra) (err error)
RputFileWithoutKey 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。 和 RputWithoutKey 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.ReaderAt 来访问。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。 localFile 是要上传的文件的本地路径。 extra 是上传的一些可选项。详细见 RputExtra 结构的描述。
func (Bucket) RputWithoutKey ¶
func (p Bucket) RputWithoutKey( ctx Context, ret interface{}, data io.ReaderAt, size int64, extra *RputExtra) error
RputWithoutKey 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。 data 是文件内容的访问接口。考虑到需要支持分块上传和断点续传,要的是 io.ReaderAt 接口,而不是 io.Reader。 fsize 是要上传的文件大小。 extra 是上传的一些可选项。详细见 RputExtra 结构的描述。
type QiniuClient ¶
type QiniuClient struct { rpc.Client Config // contains filtered or unexported fields }
func NewClient ¶
func NewClient(cfg *Config, httpTransport http.RoundTripper) *QiniuClient
func (*QiniuClient) MakePrivateUrl ¶
func (p *QiniuClient) MakePrivateUrl(baseUrl string, policy *GetPolicy) (privateUrl string)
func (*QiniuClient) MakeUpToken ¶
func (p *QiniuClient) MakeUpToken(policy *common.PutPolicy) string
MakeUpToken 根据给定的上传策略构造一个上传凭证
func (*QiniuClient) MakeUpTokenWithExpires ¶
func (p *QiniuClient) MakeUpTokenWithExpires(policy *common.PutPolicy, expires uint32) string
MakeUpTokenWithExpires 根据给定的上传策略和有效时间构造一个上传凭证, 有效时间单位为秒,将与上传策略中的过期时间叠加。