Documentation
¶
Index ¶
Constants ¶
const ( DefaultRsHost = "rs.qiniu.com" DefaultRsfHost = "rsf.qiniu.com" DefaultAPIHost = "api.qiniu.com" )
资源管理相关的默认域名
const UcHost = "https://uc.qbox.me"
UcHost 为查询空间相关域名的API服务地址
Variables ¶
var ZoneHuadong = Zone{ SrcUpHosts: []string{ "up.qiniup.com", "up-nb.qiniup.com", "up-xs.qiniup.com", }, CdnUpHosts: []string{ "upload.qiniup.com", "upload-nb.qiniup.com", "upload-xs.qiniup.com", }, RsHost: "rs.qiniu.com", RsfHost: "rsf.qiniu.com", APIHost: "api.qiniu.com", IovipHost: "iovip.qbox.me", }
ZoneHuadong 表示华东机房
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Zone *Zone //空间所在的机房
UseHTTPS bool //是否使用https域名
UseCdnDomains bool //是否使用cdn加速域名
}
Config 为文件上传,资源管理等配置
type FormUploader ¶
type FormUploader struct {
// contains filtered or unexported fields
}
FormUploader 表示一个表单上传的对象
func NewFormUploader ¶
func NewFormUploader(cfg *Config) *FormUploader
NewFormUploader 用来构建一个表单上传的对象
func (*FormUploader) PutFile ¶
func (p *FormUploader) PutFile( ctx context.Context, ret interface{}, uptoken, key, localFile string, extra *PutExtra) (err error)
PutFile 用来以表单方式上传一个文件,和 Put 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.Reader 来访问。
ctx 是请求的上下文。 ret 是上传成功后返回的数据。如果 uptoken 中没有设置 callbackUrl 或 returnBody,那么返回的数据结构是 PutRet 结构。 uptoken 是由业务服务器颁发的上传凭证。 key 是要上传的文件访问路径。比如:"foo/bar.jpg"。注意我们建议 key 不要以 '/' 开头。另外,key 为空字符串是合法的。 localFile 是要上传的文件的本地路径。 extra 是上传的一些可选项,可以指定为nil。详细见 PutExtra 结构的描述。
type PutExtra ¶
type PutExtra struct {
// 可选,用户自定义参数,必须以 "x:" 开头。若不以x:开头,则忽略。
Params map[string]string
// 可选,当为 "" 时候,服务端自动判断。
MimeType string
// 上传事件:进度通知。这个事件的回调函数应该尽可能快地结束。
OnProgress func(fsize, uploaded int64)
}
PutExtra 为表单上传的额外可选项
type PutPolicy ¶
type PutPolicy struct {
Scope string `json:"scope"`
Expires uint32 `json:"deadline"` // 截止时间(以秒为单位)
IsPrefixalScope int `json:"isPrefixalScope,omitempty"`
InsertOnly uint16 `json:"insertOnly,omitempty"` // 若非0, 即使Scope为 Bucket:Key 的形式也是insert only
DetectMime uint8 `json:"detectMime,omitempty"` // 若非0, 则服务端根据内容自动确定 MimeType
FsizeLimit int64 `json:"fsizeLimit,omitempty"`
MimeLimit string `json:"mimeLimit,omitempty"`
SaveKey string `json:"saveKey,omitempty"`
CallbackFetchKey uint8 `json:"callbackFetchKey,omitempty"`
CallbackURL string `json:"callbackUrl,omitempty"`
CallbackHost string `json:"callbackHost,omitempty"`
CallbackBody string `json:"callbackBody,omitempty"`
CallbackBodyType string `json:"callbackBodyType,omitempty"`
ReturnURL string `json:"returnUrl,omitempty"`
ReturnBody string `json:"returnBody,omitempty"`
PersistentOps string `json:"persistentOps,omitempty"`
PersistentNotifyURL string `json:"persistentNotifyUrl,omitempty"`
PersistentPipeline string `json:"persistentPipeline,omitempty"`
EndUser string `json:"endUser,omitempty"`
DeleteAfterDays int `json:"deleteAfterDays,omitempty"`
FileType int `json:"fileType,omitempty"`
}
PutPolicy 表示文件上传的上传策略
type PutRet ¶
type PutRet struct {
Hash string `json:"hash"`
PersistentID string `json:"persistentId"`
Key string `json:"key"`
}
PutRet 为七牛标准的上传回复内容。 如果使用了上传回调或者自定义了returnBody,那么需要根据实际情况,自己自定义一个返回值结构体
type UcQueryRet ¶
type UcQueryRet struct {
TTL int `json:"ttl"`
Io map[string]map[string][]string `json:"io"`
Up map[string]UcQueryUp `json:"up"`
}
UcQueryRet 为查询请求的回复
type UcQueryUp ¶
type UcQueryUp struct {
Main []string `json:"main,omitempty"`
Backup []string `json:"backup,omitempty"`
Info string `json:"info,omitempty"`
}
UcQueryUp 为查询请求回复中的上传域名信息
type UploadClient ¶
UploadClient struct
func NewUploadClient ¶
func NewUploadClient(ak, sk, bucket string) (UploadClient, error)
NewUploadClient constructor
func (UploadClient) UploadFile ¶
func (cli UploadClient) UploadFile(key, localFile string) (retKey, retHash string, err error)
UploadFile ...