From 050e22f55c4214ff9e5f3c4d3fd5aceba33034fa Mon Sep 17 00:00:00 2001 From: zhengguanghao Date: Fri, 16 Aug 2019 11:32:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=99=E6=80=81=E6=96=87=E4=BB=B6=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E6=94=B9=E4=B8=BA=E7=BB=9D=E5=AF=B9=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysservice/httpserverervice.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/sysservice/httpserverervice.go b/sysservice/httpserverervice.go index 2725a05..fa08484 100644 --- a/sysservice/httpserverervice.go +++ b/sysservice/httpserverervice.go @@ -44,7 +44,7 @@ type HttpServerService struct { keyfile string ishttps bool httpfiltrateList []HttpFiltrate - resourcedir string //静态资源下载路径 + resourcedir string //静态资源文件夹绝对路径 } func (slf *HttpServerService) OnInit() error { @@ -56,8 +56,12 @@ func (slf *HttpServerService) OnInit() error { return nil } -// CkUploadImgDir 检查文件上传路径 +// CkResourceDir 检查静态资源文件夹路径 func (slf *HttpServerService) CkResourceDir(dirname string) error { + _, err := os.Stat(dirname) + if err != nil { + return err + } slf.resourcedir = dirname return nil } @@ -69,9 +73,13 @@ func (slf *HttpServerService) initRouterHandler() http.Handler { }) //获取静态文件资源 - r.HandleFunc("/"+slf.resourcedir+"/{filename:.*}", func(w http.ResponseWriter, r *http.Request) { - slf.staticServer(w, r) - }) + if slf.resourcedir != "" { + relativeDirIndex := strings.LastIndex(slf.resourcedir, "/") + relativeDirName := slf.resourcedir[relativeDirIndex:] + r.HandleFunc(relativeDirName+"/{filename:.*}", func(w http.ResponseWriter, r *http.Request) { + slf.staticServer(w, r) + }) + } cors := cors.AllowAll() //return cors.Handler(gziphandler.GzipHandler(r)) @@ -130,9 +138,11 @@ func (slf *HttpServerService) staticServer(w http.ResponseWriter, r *http.Reques w.Write([]byte(msg)) } - nowpath, _ := os.Getwd() + //设置静态文件夹路径 upath := r.URL.Path - destLocalPath := nowpath + upath + relativeFileIndex := strings.LastIndex(upath, "/") + relativeFileName := upath[relativeFileIndex:] + destLocalPath := slf.resourcedir + relativeFileName switch r.Method { //获取资源 case "GET":