type ImageInfo struct {
}
func (this ImageInfo) Call(l Logger, url string) (ret ImageInfoRet, err error) {}
记录log
资源路径
图片信息返回值
错误, 正常时为nil
func (this ImageInfo) MakeRequest(url string) (string) {}
资源连接
type Exif struct {
}
func (this Exif) Call(l Logger, url string) (ret ExifRet, err error) {}
记录log
资源路径
Exif信息
错误
func (this Exif) MakeRequest(url string) (string) {}
资源路径
Exif返回信息的键值对
type ExifValType struct {
Val string
Type int
}
键名
数值
图片信息
type ImageInfoRet struct {
Width int
Height int
Format string
ColorModel string
}
宽度
高度
文件扩展名, 类似"png", "jpg", etc.
颜色模型, 类似"palette16", "ycbcr", etc.
Exif 信息
type ExifRet map
自定义图片预览
type ImageView struct {
Mode int
Width int
Height int
Quality int
Format string
}
缩略模式
为 0 表示不限定宽度
为 0 表示不限定高度
质量, 1-100
输出格式,如jpg, gif, png, tif等等
func (this ImageView) MakeRequest(url string) (string) {}
图片路径
计算分块的数量
func BlockCount(fsize int64) {}
总量
断点续上传设置
func SetSettings(v Settings) {}
配置信息
上传二进制流
func Put(l Logger, uptoken string, key string, f ReaderAt, fsize int64, extra PutExtra) {}
日志记录 ret: 返回值
上传凭证
键名
二进制流
流长度
extra 类型: PutExtra
附加上传参数
断点续上传块
type BlkputRet struct {
Ctx string
Checksum string
Crc32 uint32
Offset uint32
Host string
}
校检码
crc32校检码
位置信息
上传域名
如果 uptoken 没有指定 ReturnBody,那么返回值是标准的 PutRet 结构
type PutRet struct {
Hash string
}
资源内容标识
断点续上传配置信息
type Settings struct {
TaskQsize int
Workers int
ChunkSize int
TryTimes int
}
可选。任务队列大小。为 0 表示取 Workers * 4。
并行 Goroutine 数目。
默认的Chunk大小,不设定则为256k
默认的尝试次数,不设定则为3
获取资源下载路径
func GetUrl(domain string, key string, dntoken string) {}
仓库域名
键名
下载凭证
资源的url路径
上传文件后返回的默认结构
type PutRet struct {
Hash string
}
如果 uptoken 没有指定 ReturnBody,那么返回值是标准的 PutRet 结构
PutExtra
上传资源附加选项
type PutExtra struct {
CallbackParams string
Bucket string
CustomMeta string
MimeType string
}
CallbackParams 类型: string
当 uptoken 指定了 CallbackUrl,则 CallbackParams 必须非空
可选。用户自定义 Meta,不能超过 256 字节
可选。在 uptoken 没有指定 DetectMime 时,用户客户端可自己指定 MimeType
带有授权信息Rs资源客户端 构造函数
func New() {}
上传凭证
type PutPolicy struct {
Scope string
CallbackUrl string
CallbackBodyType string
Customer string
AsyncOps string
Expires uint32
Escape uint16
DetectMime uint16
}
一般指文件要上传到的目标存储空间(Bucket)。 scope 字段还可以有更灵活的定义:若为”Bucket”, 表示限定只能传到该Bucket(仅限于新增文件); 若为”Bucket:Key”,表示限定特定的文档,可新增或修改文件。
定义文件上传完毕后,云存储服务端执行回调的远程URL。 注意:若提供该字段, 其值必须是公网上可以正常进行POST请求并能响应 HTTP Status 200 OK 的有效 URL , 且必须在 <a href="http://docs.qiniutek.com/v3/api/io/#upload-file-by-multipart">multipart/form-data</a> 上传流 中指定 params 字段 的值。
CallbackBodyType 类型: string
为执行远程回调指定Content-Type, 比如可以是:application/x-www-form-urlencoded
给上传的文件添加唯一属主标识,特殊场景下非常有用, 比如根据终端用户标识给图片打水印
指定文件(图片/音频/视频)上传成功后异步地执行指定的预转操作。 每个预转指令是一个API规格字符串,多个预转指令可以使用分号“;”隔开。
定义 uploadToken 的持续有效时间,精确到秒
可选值 0 或者 1,缺省为 0。 值为 1 表示 callback 传递的自定义数据中允许存在转义符号
是否允许服务器端自动判断类型
func (r PutPolicy) Token() (string) {}
批量文件信息
type BatchStatItemRet struct {
Data Entry
Error string
Code int
}
资源信息
错误
状态代码
批量操作状态
type BatchItemRet struct {
Error string
Code int
}
错误
状态代码
资源路径对
type EntryPathPair struct {
Src EntryPath
Dest EntryPath
}
源路径
目标路径
带有授权信息Rs资源客户端
type Client struct {
Conn Client
}
func (rs Client) Stat(l Logger, bucket string, key string) (entry Entry, err error) {}
日志
仓库名
键名
资源信息返回值
错误信息, 无异常时为nil
func (rs Client) BatchStat(l Logger, entries []EntryPath) (ret []BatchStatItemRet, err error) {}
记录日志
批量路径信息
批量查询资源信息返回值
错误, 当无异常的时候为nil
func (rs Client) Move(l Logger, bucketSrc string, keySrc string, bucketDest string, keyDest string) (err error) {}
日志
源仓库名
源键名
目标仓库名
目标键名
错误信息, 无异常时为nil
func (rs Client) BatchCopy(l Logger, entries []EntryPathPair) (ret []BatchItemRet, err error) {}
记录日志
entries 类型: EntryPathPair
批量路径信息
批量操作返回值
错误, 当无异常的时候为nil
func (rs Client) BatchDelete(l Logger, entries []EntryPath) (ret []BatchItemRet, err error) {}
记录日志
批量路径信息
批量操作返回值
错误, 当无异常的时候为nil
func (rs Client) Copy(l Logger, bucketSrc string, keySrc string, bucketDest string, keyDest string) (err error) {}
日志
源仓库名
源键名
目标仓库名
目标键名
错误信息, 无异常时为nil
func (rs Client) BatchMove(l Logger, entries []EntryPathPair) (ret []BatchItemRet, err error) {}
记录日志
entries 类型: EntryPathPair
批量路径信息
批量操作返回值
错误, 当无异常的时候为nil
func (rs Client) Delete(l Logger, bucket string, key string) (err error) {}
日志
仓库名
键名
错误信息, 无异常时为nil
资源路径
type EntryPath struct {
Bucket string
Key string
}
仓库名
键值
资源信息
type Entry struct {
Hash string
Fsize int64
PutTime int64
MimeType string
Customer string
}
内容标识
资源体积
上传时间
资源mime类型
自定义数据
下载凭证
type GetPolicy struct {
Scope string
Expires uint32
}
一般指文件要上传到的目标存储空间(Bucket)。 scope 字段还可以有更灵活的定义:若为”Bucket”,表示限定只能传到该Bucket(仅限于新增文件); 若为”Bucket:Key”,表示限定特定的文档,可新增或修改文件。
定义 uploadToken 的持续有效时间,精确到秒
func (r GetPolicy) Token() (string) {}
将PublicKey, PrivateKey和内容进行数字签名
func Sign(key string, secret []byte, b []byte) {}
PublicKey
PrivateKey
数据