You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
4.7 KiB

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"`
}