kodo

package
v1.9.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRsHost  = "rs.qiniu.com"
	DefaultRsfHost = "rsf.qiniu.com"
	DefaultAPIHost = "api.qiniu.com"
)

资源管理相关的默认域名

View Source
const UcHost = "https://uc.qbox.me"

UcHost 为查询空间相关域名的API服务地址

Variables

View Source
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 表示文件上传的上传策略

func (*PutPolicy) UploadToken

func (p *PutPolicy) UploadToken(mac *qbox.Mac) (token string)

UploadToken 方法用来进行上传凭证的生成

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

type UploadClient struct {
	AccessKey string
	SecretKey string
	Bucket    string
}

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 ...

type Zone

type Zone struct {
	SrcUpHosts []string
	CdnUpHosts []string
	RsHost     string
	RsfHost    string
	APIHost    string
	IovipHost  string
}

Zone 为空间对应的机房属性,主要包括了上传,资源管理等操作的域名

func GetZone

func GetZone(ak, bucket string) (zone *Zone, err error)

GetZone 用来根据ak和bucket来获取空间相关的机房信息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL