feat: 从黄果 NET hgdjnet-server 9bfbafe 导入 HKDJ 官网后端

来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83
项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet
测试目录 /server/hkdj_net,App/Web API 30331/30332

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-10-16 11:20:04 +08:00
co-authored by Claude Opus 4.7
parent 99a4854def
commit 85c0071fd8
653 changed files with 85000 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
package uploadapi
import (
"net/http"
"hkdj-web-server/app/service/uploadser"
"hkdj-web-server/pub/common"
"hkdj-web-server/pub/common/log"
"hkdj-web-server/pub/common/srvdef"
"github.com/gin-gonic/gin"
)
// UploadImage 上传图片
// @Tags 上传
// @Summary 图片上传
// @Description 将图片转发至存储服务 /media/web/autopublish/image
// @Accept multipart/form-data
// @Produce json
// @Param file formData file true "图片文件"
// @Param watermark formData string false "是否加水印:1加,其他情况不加(头像不加)"
// @Success 200 {object} uploadser.ImageUploadResp "成功"
// @Failure 400 {string} string "参数错误"
// @Router /api/app/upload/image [post]
func UploadImage(ctx *gin.Context) {
f, err := ctx.FormFile("file")
if err != nil {
common.ServerJSON(ctx, srvdef.ErrParamError, "file 不能为空")
return
}
watermark := int64(0)
if ctx.PostForm("watermark") == "1" {
watermark = 1
}
param := &uploadser.ImageParam{
FileHeader: f,
Watermark: watermark,
}
respBytes, err := uploadser.ForwardImage(param)
if err != nil {
log.Error("UploadImage forward failed", log.E(err))
common.ServerJSON(ctx, srvdef.ServerError, nil)
return
}
ctx.Data(http.StatusOK, "application/json; charset=utf-8", respBytes)
}