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