package schema import "net/http" // FileInfo 文件信息 type FileInfo struct { URL string `json:"url"` Name string `json:"name"` Hash string `json:"hash"` Size int64 `json:"size"` } // FileChunkInfo 文件块信息 type FileChunkInfo struct { Current int `json:"current"` // 当前块 Total int `json:"total"` // 总块数 URL string `json:"url"` // 路径 Name string `json:"name"` // 文件名 Hash string `json:"hash"` // 文件hash IsComplete int `json:"is_complete"` // 是否完成上传(1:未完成2:已完成) } // UploadParams 上传文件时的参数 type UploadParams struct { BaseUrl string `json:"base_url" v:"required#必须输入base_url"` FormKey string `json:"form_key" v:"required#必须输入file字段的名称form_key"` } type PersistentFileRequest struct { Hash string `json:"hash" v:"required#必须输入hash"` // 文件的哈希值 } type FileChunkUploadReq struct { BaseUrl string `json:"base_url" v:"required#必须输入base_url"` FormKey string `json:"form_key" v:"required#必须输入file字段的名称form_key"` Index int `json:"index" v:"required#当前块索引不能为空(index)|min:1"` Total int `json:"total" v:"required#必须传总块数total|min:1"` Hash string `json:"hash" v:"required#必须输入文件的md5值"` } // FileChunkParams 文件分块上传参数 type FileChunkParams struct { HttpRequest *http.Request // http request object FormKey string // form-data file key BaseUrl string // base url like bucket name Index int // current file chunk index Total int // total chunks Hash string } // FileMergeParams 文件合并参数 type FileMergeParams struct { HttpRequest *http.Request // http request object BaseUrl string // base url like bucket name Total int // total chunks Hash string FileName string }