Skip to content

Instantly share code, notes, and snippets.

@chzyer
Last active December 16, 2015 05:39
Show Gist options
  • Save chzyer/5386074 to your computer and use it in GitHub Desktop.
Save chzyer/5386074 to your computer and use it in GitHub Desktop.

ImageInfo

代码

type ImageInfo struct {
}

函数

Call

func (this ImageInfo) Call(l Logger, url string) (ret ImageInfoRet, err error) {}
参数
l 类型: Logger
记录log
url 类型: string
资源路径
返回值
ret 类型: ImageInfoRet
图片信息返回值
err 类型: error
错误, 正常时为nil

MakeRequest

func (this ImageInfo) MakeRequest(url string) (string) {}
参数
url 类型: string
资源连接
返回值
类型: string

Exif

代码

type Exif struct {
}

函数

Call

func (this Exif) Call(l Logger, url string) (ret ExifRet, err error) {}
参数
l 类型: Logger
记录log
url 类型: string
资源路径
返回值
ret 类型: ExifRet
Exif信息
err 类型: error
错误

MakeRequest

func (this Exif) MakeRequest(url string) (string) {}
参数
url 类型: string
资源路径
返回值
类型: string

ExifValType

Exif返回信息的键值对

代码

type ExifValType struct {
	Val string
	Type int
}

字段

Val 类型: string
键名
Type 类型: int
数值

ImageInfoRet

图片信息

代码

type ImageInfoRet struct {
	Width int
	Height int
	Format string
	ColorModel string
}

字段

Width 类型: int
宽度
Height 类型: int
高度
Format 类型: string
文件扩展名, 类似"png", "jpg", etc.
ColorModel 类型: string
颜色模型, 类似"palette16", "ycbcr", etc.

ExifRet

Exif 信息

代码

type ExifRet map

ImageView

自定义图片预览

代码

type ImageView struct {
	Mode int
	Width int
	Height int
	Quality int
	Format string
}

字段

Mode 类型: int
缩略模式
Width 类型: int
为 0 表示不限定宽度
Height 类型: int
为 0 表示不限定高度
Quality 类型: int
质量, 1-100
Format 类型: string
输出格式,如jpg, gif, png, tif等等

函数

MakeRequest

func (this ImageView) MakeRequest(url string) (string) {}
参数
url 类型: string
图片路径
返回值
类型: string

BlockCount

计算分块的数量

代码

func BlockCount(fsize int64) {}

参数

fsize 类型: int64
总量

返回值

类型: int

SetSettings

断点续上传设置

代码

func SetSettings(v Settings) {}

参数

v 类型: Settings
配置信息

Put

上传二进制流

代码

func Put(l Logger, uptoken string, key string, f ReaderAt, fsize int64, extra PutExtra) {}

参数

l 类型: Logger
日志记录 ret: 返回值
uptoken 类型: string
上传凭证
key 类型: string
键名
f 类型: ReaderAt
二进制流
fsize 类型: int64
流长度
extra 类型: PutExtra
附加上传参数

返回值

类型: error

BlkputRet

断点续上传块

代码

type BlkputRet struct {
	Ctx string
	Checksum string
	Crc32 uint32
	Offset uint32
	Host string
}

字段

Ctx 类型: string
Checksum 类型: string
校检码
Crc32 类型: uint32
crc32校检码
Offset 类型: uint32
位置信息
Host 类型: string
上传域名

PutRet

如果 uptoken 没有指定 ReturnBody,那么返回值是标准的 PutRet 结构

代码

type PutRet struct {
	Hash string
}

字段

Hash 类型: string
资源内容标识

Settings

断点续上传配置信息

代码

type Settings struct {
	TaskQsize int
	Workers int
	ChunkSize int
	TryTimes int
}

字段

TaskQsize 类型: int
可选。任务队列大小。为 0 表示取 Workers * 4。
Workers 类型: int
并行 Goroutine 数目。
ChunkSize 类型: int
默认的Chunk大小,不设定则为256k
TryTimes 类型: int
默认的尝试次数,不设定则为3

GetUrl

获取资源下载路径

代码

func GetUrl(domain string, key string, dntoken string) {}

参数

domain 类型: string
仓库域名
key 类型: string
键名
dntoken 类型: string
下载凭证

返回值

downloadUrl 类型: string
资源的url路径

PutRet

上传文件后返回的默认结构

代码

type PutRet struct {
	Hash string
}

字段

Hash 类型: string
如果 uptoken 没有指定 ReturnBody,那么返回值是标准的 PutRet 结构

PutExtra

上传资源附加选项

代码

type PutExtra struct {
	CallbackParams string
	Bucket string
	CustomMeta string
	MimeType string
}

字段

CallbackParams 类型: string
当 uptoken 指定了 CallbackUrl,则 CallbackParams 必须非空
Bucket 类型: string
CustomMeta 类型: string
可选。用户自定义 Meta,不能超过 256 字节
MimeType 类型: string
可选。在 uptoken 没有指定 DetectMime 时,用户客户端可自己指定 MimeType

New

带有授权信息Rs资源客户端 构造函数

代码

func New() {}

返回值

类型: Client

PutPolicy

上传凭证

代码

type PutPolicy struct {
	Scope string
	CallbackUrl string
	CallbackBodyType string
	Customer string
	AsyncOps string
	Expires uint32
	Escape uint16
	DetectMime uint16
}

字段

Scope 类型: string
一般指文件要上传到的目标存储空间(Bucket)。 scope 字段还可以有更灵活的定义:若为”Bucket”, 表示限定只能传到该Bucket(仅限于新增文件); 若为”Bucket:Key”,表示限定特定的文档,可新增或修改文件。
CallbackUrl 类型: string
定义文件上传完毕后,云存储服务端执行回调的远程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
Customer 类型: string
给上传的文件添加唯一属主标识,特殊场景下非常有用, 比如根据终端用户标识给图片打水印
AsyncOps 类型: string
指定文件(图片/音频/视频)上传成功后异步地执行指定的预转操作。 每个预转指令是一个API规格字符串,多个预转指令可以使用分号“;”隔开。
Expires 类型: uint32
定义 uploadToken 的持续有效时间,精确到秒
Escape 类型: uint16
可选值 0 或者 1,缺省为 0。 值为 1 表示 callback 传递的自定义数据中允许存在转义符号 
DetectMime 类型: uint16
是否允许服务器端自动判断类型

函数

Token

func (r PutPolicy) Token() (string) {}
返回值
类型: string

BatchStatItemRet

批量文件信息

代码

type BatchStatItemRet struct {
	Data Entry
	Error string
	Code int
}

字段

Data 类型: Entry
资源信息
Error 类型: string
错误
Code 类型: int
状态代码

BatchItemRet

批量操作状态

代码

type BatchItemRet struct {
	Error string
	Code int
}

字段

Error 类型: string
错误
Code 类型: int
状态代码

EntryPathPair

资源路径对

代码

type EntryPathPair struct {
	Src EntryPath
	Dest EntryPath
}

字段

Src 类型: EntryPath
源路径
Dest 类型: EntryPath
目标路径

Client

带有授权信息Rs资源客户端

代码

type Client struct {
	Conn Client
}

字段

Conn 类型: Client

函数

Stat

func (rs Client) Stat(l Logger, bucket string, key string) (entry Entry, err error) {}
参数
l 类型: Logger
日志
bucket 类型: string
仓库名
key 类型: string
键名
返回值
entry 类型: Entry
资源信息返回值
err 类型: error
错误信息, 无异常时为nil

BatchStat

func (rs Client) BatchStat(l Logger, entries []EntryPath) (ret []BatchStatItemRet, err error) {}
参数
l 类型: Logger
记录日志
entries 类型: EntryPath
批量路径信息
返回值
ret 类型: BatchStatItemRet
批量查询资源信息返回值
err 类型: error
错误, 当无异常的时候为nil

Move

func (rs Client) Move(l Logger, bucketSrc string, keySrc string, bucketDest string, keyDest string) (err error) {}
参数
l 类型: Logger
日志
bucketSrc 类型: string
源仓库名
keySrc 类型: string
源键名
bucketDest 类型: string
目标仓库名
keyDest 类型: string
目标键名
返回值
err 类型: error
错误信息, 无异常时为nil

BatchCopy

func (rs Client) BatchCopy(l Logger, entries []EntryPathPair) (ret []BatchItemRet, err error) {}
参数
l 类型: Logger
记录日志
entries 类型: EntryPathPair
批量路径信息
返回值
ret 类型: BatchItemRet
批量操作返回值
err 类型: error
错误, 当无异常的时候为nil

BatchDelete

func (rs Client) BatchDelete(l Logger, entries []EntryPath) (ret []BatchItemRet, err error) {}
参数
l 类型: Logger
记录日志
entries 类型: EntryPath
批量路径信息
返回值
ret 类型: BatchItemRet
批量操作返回值
err 类型: error
错误, 当无异常的时候为nil

Copy

func (rs Client) Copy(l Logger, bucketSrc string, keySrc string, bucketDest string, keyDest string) (err error) {}
参数
l 类型: Logger
日志
bucketSrc 类型: string
源仓库名
keySrc 类型: string
源键名
bucketDest 类型: string
目标仓库名
keyDest 类型: string
目标键名
返回值
err 类型: error
错误信息, 无异常时为nil

BatchMove

func (rs Client) BatchMove(l Logger, entries []EntryPathPair) (ret []BatchItemRet, err error) {}
参数
l 类型: Logger
记录日志
entries 类型: EntryPathPair
批量路径信息
返回值
ret 类型: BatchItemRet
批量操作返回值
err 类型: error
错误, 当无异常的时候为nil

Delete

func (rs Client) Delete(l Logger, bucket string, key string) (err error) {}
参数
l 类型: Logger
日志
bucket 类型: string
仓库名
key 类型: string
键名
返回值
err 类型: error
错误信息, 无异常时为nil

EntryPath

资源路径

代码

type EntryPath struct {
	Bucket string
	Key string
}

字段

Bucket 类型: string
仓库名
Key 类型: string
键值

Entry

资源信息

代码

type Entry struct {
	Hash string
	Fsize int64
	PutTime int64
	MimeType string
	Customer string
}

字段

Hash 类型: string
内容标识
Fsize 类型: int64
资源体积
PutTime 类型: int64
上传时间
MimeType 类型: string
资源mime类型
Customer 类型: string
自定义数据

GetPolicy

下载凭证

代码

type GetPolicy struct {
	Scope string
	Expires uint32
}

字段

Scope 类型: string
一般指文件要上传到的目标存储空间(Bucket)。 scope 字段还可以有更灵活的定义:若为”Bucket”,表示限定只能传到该Bucket(仅限于新增文件); 若为”Bucket:Key”,表示限定特定的文档,可新增或修改文件。
Expires 类型: uint32
定义 uploadToken 的持续有效时间,精确到秒

函数

Token

func (r GetPolicy) Token() (string) {}
返回值
类型: string

Sign

将PublicKey, PrivateKey和内容进行数字签名

代码

func Sign(key string, secret []byte, b []byte) {}

参数

key 类型: string
PublicKey
secret 类型: byte
PrivateKey
b 类型: byte
数据

返回值

类型: byte
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment