Documentation
¶
Index ¶
Constants ¶
const ( CoverTypeCover = "cover" CoverTypeHeterotypic = "heterotypic" )
封面类型
const ( ErrNoFileSelected = "请选择要上传的文件" ErrInvalidCoverType = "无效的封面类型" ErrFileTooLarge = "图片大小不能超过 2MB" ErrUnsupportedFormat = "只支持 JPG、PNG、WEBP 格式的图片" ErrInvalidImage = "无效的图片文件" ErrUploadExtensionsNotConfigured = "上传扩展名未配置" ErrProcessFileFailed = "处理文件失败" ErrSaveFileFailed = "保存文件失败" ErrOpenFileFailed = "打开文件失败" ErrInvalidFilePath = "非法文件路径" ErrSaveUploadRecordFailed = "保存上传记录失败" ErrQueryHistoryCoverFailed = "查询历史封面失败" )
const (
MaxFileSize = 2 * 1024 * 1024 // 2MB
)
最大文件大小
Variables ¶
This section is empty.
Functions ¶
func HandleCleanupUnusedUploads ¶
HandleCleanupUnusedUploads 处理清理未使用上传文件的定时任务
func ListRedEnvelopeCovers ¶
ListRedEnvelopeCovers 获取用户历史红包封面 @Tags redenvelope @Produce json @Param type query string true "封面类型 (cover/heterotypic)" @Success 200 {object} util.ResponseAny @Router /api/v1/redenvelope/covers [get]
func ServeFileByID ¶
ServeFileByID serves an uploaded file by its ID @Tags upload @Produce octet-stream @Param id path string true "Upload ID" @Success 200 @Router /f/{id} [get]
func UploadRedEnvelopeCover ¶
UploadRedEnvelopeCover 上传红包封面 @Tags upload @Accept multipart/form-data @Produce json @Param file formData file true "图片文件" @Param type formData string true "封面类型 (cover/heterotypic)" @Success 200 {object} util.ResponseAny @Router /api/v1/upload/redenvelope/cover [post]
func ValidateS3Key ¶
ValidateS3Key validates an S3 object key for safety.
Types ¶
type UploadResponse ¶
type UploadResponse struct {
ID uint64 `json:"id,string"`
}
UploadResponse 上传响应