67 lines
2.0 KiB
Go
67 lines
2.0 KiB
Go
/*
|
|
* @desc:上传文件model
|
|
* @company:云南奇讯科技有限公司
|
|
* @Author: yixiaohu<yxh669@qq.com>
|
|
* @Date: 2022/12/6 15:29
|
|
*/
|
|
|
|
package model
|
|
|
|
import (
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
)
|
|
|
|
type UpFile struct {
|
|
Name string `json:"name"`
|
|
Url string `json:"url"`
|
|
FileType string `json:"fileType"`
|
|
Size uint64 `json:"size"`
|
|
}
|
|
|
|
type UploadResponse struct {
|
|
Size int64 `json:"size" dc:"文件大小"`
|
|
Path string `json:"path" dc:"文件相对路径"`
|
|
FullPath string `json:"fullPath" dc:"文件绝对路径"`
|
|
Name string `json:"name" dc:"文件名称"`
|
|
Type string `json:"type" dc:"文件类型"`
|
|
}
|
|
|
|
// CheckMultipartReq 检查文件分片
|
|
type CheckMultipartReq struct {
|
|
UploadType string `p:"uploadType" dc:"文件类型"`
|
|
FileName string `p:"fileName" dc:"文件名称"`
|
|
Size int64 `p:"size" dc:"文件大小"`
|
|
Md5 string `p:"md5" dc:"文件md5值"`
|
|
ShardsCount int `p:"shardsCount" dc:"分片数量"`
|
|
DriverType int //上传驱动
|
|
UserId uint64
|
|
AppId string
|
|
}
|
|
|
|
type CheckMultipartRes struct {
|
|
Attachment *UploadResponse `json:"attachment" dc:"附件"`
|
|
WaitUploadIndex []int `json:"waitUploadIndex" dc:"等待上传的分片索引"`
|
|
Progress float64 `json:"progress" dc:"上传进度"`
|
|
}
|
|
|
|
// UploadPartReq 分片上传
|
|
type UploadPartReq struct {
|
|
*CheckMultipartReq
|
|
Index int `p:"index" dc:"分片索引"`
|
|
File *ghttp.UploadFile `p:"file" type:"file" dc:"分片文件"`
|
|
}
|
|
|
|
type UploadPartRes struct {
|
|
Attachment *UploadResponse `json:"attachment" dc:"附件"`
|
|
Finish bool `json:"finish" dc:"是否完成"`
|
|
}
|
|
|
|
// MultipartProgress 分片进度
|
|
type MultipartProgress struct {
|
|
UploadId string `json:"uploadId"` // 上传事件ID
|
|
ShardCount int `json:"shardCount"` // 分片数量
|
|
UploadedIndex []int `json:"uploadedIndex"` // 已上传的分片索引
|
|
CreatedAt *gtime.Time `json:"createdAt"` // 创建时间
|
|
}
|