package request import ( "fm-upload/internal/data/model" "mime/multipart" ) // UploadRequest .. type UploadRequest struct { File *multipart.FileHeader `form:"file" binding:"required" swaggerignore:"true"` Type string `form:"type" example:"上传文件类型"` FileName string `form:"fileName" example:"给文件取名"` Hash string `form:"hash" example:"sha256,sha1,md5,其他不处理"` // Bucket string `form:"bucket" example:"上传空间,默认为环境空间"` } type UploadResponse struct { UploadFileName string `json:"uploadFileName,omitempty" example:"上传文件"` File string `json:"file,omitempty" example:"上传文件地址"` Hash string `json:"hash,omitempty" example:"文件hash值"` PersistentOps string `json:"persistentOps,omitempty" example:"转码操作参数"` PersistentId string `json:"persistentId,omitempty" example:"转码任务id"` FileSize uint64 `json:"fileSize,omitempty"` //上传后文件大小 Height int `json:"height,omitempty"` //视频高 Width int `json:"width,omitempty"` //视频宽 Duration string `json:"duration,omitempty" example:"视频时长"` VframeTime float64 `json:"vframeTime,omitempty" ` //截图时间,单位:秒,精确到毫秒 VframeWidth uint `json:"vframeWidth,omitempty"` //视频截取图片的宽度 VframeHeight uint `json:"vframeHeight,omitempty"` //视频截取图片的高度 VframePersistentId string `json:"vframePersistentId,omitempty" example:"截图任务id"` VframeUrl string `json:"vframeUrl,omitempty" example:"截图地址"` Time1 string `json:"time1,omitempty" example:"上传至七牛云所用时间"` } type CompressImagesRequest struct { File *multipart.FileHeader `form:"file" swaggerignore:"true"` ImageUrl string `form:"imageUrl" example:"图片url地址,file和imageUrl二选一"` IgnoreOriginImage bool `form:"ignoreOriginImage"` //上传图片时,选择是否保存原图;如果有原图url,忽略此参数。默认=false,保存原图;=true时忽略原图 OriginImageName string `form:"originImageName" example:"给原始图片取名"` ProcessParams string `form:"processParams" json:"processParams"` // 压缩图片参数 ProcessImageBucket string `form:"processImageBucket" json:"processImageBucket" example:"转码后的图片所在空间。上传文件时默认为环境空间;有url时默认与源图片空间相同。"` } type CompressImageRequest struct { File *multipart.FileHeader `form:"file" swaggerignore:"true"` ImageUrl string `form:"imageUrl" example:"图片url地址,file和imageUrl二选一"` OverwriteOriginImage bool `form:"overwriteOriginImage"` //(有原图url时)用压缩后的图片覆盖源文件。默认=false。=true时忽略processImageBucket、processImageName、processImageSuffix等字段 OverwriteProcessImage bool `form:"overwriteProcessImage"` //对压缩图片有命名规则时,覆盖同名文件。默认=false IgnoreOriginImage bool `form:"ignoreOriginImage"` //上传图片时,选择是否保存原图;如果有原图url,忽略此参数。默认=false,保存原图;=true时忽略原图 OriginImageName string `form:"originImageName" example:"给原始图片取名"` ProcessImageBucket string `form:"processImageBucket" json:"processImageBucket" example:"转码后的图片所在空间。上传文件时默认为环境空间;有url时默认与源图片空间相同。"` model.ImageParams } type CropParam struct { X float64 `json:"x"` Y float64 `json:"y"` W float64 `json:"w"` H float64 `json:"h"` } type ImagesCompressResponse struct { OriginImageUrl string `json:"originImageUrl,omitempty" example:"原图地址"` UploadFileName string `json:"uploadFileName,omitempty" example:"上传文件地址"` OriginFileSize int `json:"originFileSize,omitempty"` //原文件大小 OriginWidth uint `json:"originWidth,omitempty"` //原图片宽度 OriginHeight uint `json:"originHeight,omitempty"` //原图片高度 ProcessImages []map[string]string `json:"processImages,omitempty"` //处理后图片信息,url,width,height,fileSize } type GetVideoConvertParams struct { Url string `json:"url" form:"url"` } type GetBatchVideoConvert struct { Data []KeyVideo `json:"data"` } type KeyVideo struct { Key string `json:"key"` Url string `json:"url"` }