From a628ae35c028734697a6c78c0e89ce32cb090899 Mon Sep 17 00:00:00 2001 From: tfl Date: Mon, 23 Sep 2024 08:43:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/system/router/upload.go | 5 +++-- pkg/rule_engine.zip | Bin 0 -> 39339 bytes pkg/tool/file.go | 13 +++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 pkg/rule_engine.zip diff --git a/apps/system/router/upload.go b/apps/system/router/upload.go index 1c81880..5fb146b 100644 --- a/apps/system/router/upload.go +++ b/apps/system/router/upload.go @@ -14,11 +14,12 @@ func InitUploadRouter(container *restful.Container) { ws.Path("/upload").Produces(restful.MIME_JSON) tags := []string{"system", "文件"} - ws.Route(ws.POST("/up").To(func(request *restful.Request, response *restful.Response) { + ws.Route(ws.POST("/up/{path}").To(func(request *restful.Request, response *restful.Response) { restfulx.NewReqCtx(request, response).WithLog("上传图片").Handle(s.UploadImage) }). Doc("上传图片"). Param(ws.FormParameter("imagefile", "文件")). + Param(ws.PathParameter("path", "文件类型")). Metadata(restfulspec.KeyOpenAPITags, tags). Returns(200, "OK", map[string]string{})) @@ -30,7 +31,7 @@ func InitUploadRouter(container *restful.Container) { Metadata(restfulspec.KeyOpenAPITags, tags). Returns(200, "OK", map[string]string{})) - ws.Route(ws.GET("/get/{subpath}").To(func(request *restful.Request, response *restful.Response) { + ws.Route(ws.GET("/down/{path}/{subpath:*}").To(func(request *restful.Request, response *restful.Response) { restfulx.NewReqCtx(request, response).WithNeedToken(false).WithNeedCasbin(false).WithLog("获取文件").Handle(s.GetImage) }). Doc("获取文件"). diff --git a/pkg/rule_engine.zip b/pkg/rule_engine.zip new file mode 100644 index 0000000000000000000000000000000000000000..6200afcb1ef1d8ad85085d47c4ace001b5c131f8 GIT binary patch literal 39339 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