syntax = "v1" info ( title: // TODO: add title desc: // TODO: add description author: "" email: "" ) import "basic.api" service upload { @handler UploadUpFileHandler get /api/upload/up-file(RequestUpFile) returns (response); @handler UploadFileFrontendHandler post /api/upload/upload-file-frontend(RequestUploadFileFrontend) returns (response); @handler UploadFileBackendHandler post /api/upload/upload-file-backend(RequestUploadFileBackend) returns (response); //生成二维码 @handler UploadQrcodeHandler post /api/upload/qrcode(UploadQrcodeReq) returns (response); // 上传文件发起--单个文件--后端上传 @handler UploadFilesBackendHandler post /api/upload/upload-files-backend(UploadFilesReq) returns (response); // 上传文件发起--多个文件--前端上传 @handler UploadFilesFrontendHandler post /api/upload/upload-files-frontend(UploadFilesReq) returns (response); // 上传文件回调 @handler UploadCallbackHandler post /api/upload/upload-callback(UploadCallbackReq) returns (response); } type ( UploadInfo { FileKeys string `form:"file_keys,optional"` // 上传唯一标识信息 Metadata string `form:"file_keys,optional"` // 上传文件额外信息 } UploadFilesReq { ApiType int64 `form:"api_type,options=[1,2],default=1"` // 调用类型:1=对外,2=对内 UploadBucket string `form:"upload_bucket"` // 上传桶名 UploadInfo []UploadInfo `form:"upload_info,optional"` // 上传信息 } UploadCallbackReq { FileType string `form:"file_type"` // 文件类型 / fbx / hdr UploadKey string `form:"upload_key"` // 上传KEY UploadBucket string `form:"upload_bucket"` // 上传桶名 Version string `form:"version,optional"` // 版本信息 Metadata string `form:"metadata,optional"` // 元数据,json格式,存储图像分率 } ) type RequestUpFile { UpFile string `form:"upfile"` IsCut string `form:"is_cut"` // 是否裁剪 } type RequestUploadFileFrontend { FileName string `json:"file_name"` // 文件名 FileType string `json:"file_type"` // Image / fbx / hdr FileSize int64 `json:"file_size"` // 文件大小 Category string `json:"category"` // 类别 } type RequestUploadFileBackend { File File `file:"file"` // 文件名 FileType string `form:"file_type"` // Image / fbx / hdr Category string `form:"category"` // 类别 } //生成二维码 type UploadQrcodeReq { Url string `json:"url"` QRcodeType int64 `json:"QRcodeType"` } type UploadQrcodeRsp { Link string `json:"link"` Data string `json:"d"` }