diff --git a/server/service/exa_simple_uploader.go b/server/service/exa_simple_uploader.go index 5ce57507e58c37002fe989c1d2f0818252c6b619..eadfc9013b375b9d26c83f4de520152fa0a3c55b 100644 --- a/server/service/exa_simple_uploader.go +++ b/server/service/exa_simple_uploader.go @@ -51,7 +51,12 @@ func MergeFileMd5(md5 string, fileName string) (err error) { rd, err := ioutil.ReadDir(dir) _ = os.MkdirAll(finishDir, os.ModePerm) //创建目标文件 - fd, _ := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644) + fd, err := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644) + if err != nil { + return + } + //关闭文件 + defer fd.Close() //将切片文件按照顺序写入 for k := range rd { content, _ := ioutil.ReadFile(dir + "/" + fileName + strconv.Itoa(k+1)) @@ -60,8 +65,6 @@ func MergeFileMd5(md5 string, fileName string) (err error) { _ = os.Remove(finishDir + fileName) } } - //关闭文件 - defer fd.Close() if err != nil { return err diff --git a/server/utils/breakpoint_continue.go b/server/utils/breakpoint_continue.go index 7dbe7eb603ecf7854a196db7bbb6273fa0eda52c..342517efd0eb9cd2f9a4fe4daaa78112787a39aa 100644 --- a/server/utils/breakpoint_continue.go +++ b/server/utils/breakpoint_continue.go @@ -55,7 +55,6 @@ func CheckMd5(content []byte, chunkMd5 string) (CanUpload bool) { func makeFileContent(content []byte, fileName string, FileDir string, contentNumber int) (error, string) { path := FileDir + fileName + "_" + strconv.Itoa(contentNumber) f, err := os.Create(path) - defer f.Close() if err != nil { return err, path } else { @@ -64,6 +63,7 @@ func makeFileContent(content []byte, fileName string, FileDir string, contentNum return err, path } } + defer f.Close() return nil, path } @@ -79,7 +79,11 @@ func MakeFile(fileName string, FileMd5 string) (error, string) { return err, finishDir + fileName } _ = os.MkdirAll(finishDir, os.ModePerm) - fd, _ := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644) + fd, err := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644) + if err != nil { + return err, finishDir + fileName + } + defer fd.Close() for k := range rd { content, _ := ioutil.ReadFile(breakpointDir + FileMd5 + "/" + fileName + "_" + strconv.Itoa(k)) _, err = fd.Write(content) @@ -88,7 +92,7 @@ func MakeFile(fileName string, FileMd5 string) (error, string) { return err, finishDir + fileName } } - defer fd.Close() + return nil, finishDir + fileName } diff --git a/server/utils/zipfiles.go b/server/utils/zipfiles.go index aed53c951031e56a0b7c221af4e6c6398a253af7..55eb8de90824a78f103ccd251cea0717cc0060dc 100644 --- a/server/utils/zipfiles.go +++ b/server/utils/zipfiles.go @@ -13,51 +13,60 @@ import ( //@param: filename string, files []string, oldform, newform string //@return: error -func ZipFiles(filename string, files []string, oldform, newform string) error { +func ZipFiles(filename string, files []string, oldForm, newForm string) error { newZipFile, err := os.Create(filename) if err != nil { return err } - defer newZipFile.Close() + defer func() { + _ = newZipFile.Close() + }() zipWriter := zip.NewWriter(newZipFile) - defer zipWriter.Close() + defer func() { + _ = zipWriter.Close() + }() // 把files添加到zip中 for _, file := range files { - zipfile, err := os.Open(file) - if err != nil { - return err - } - defer zipfile.Close() - - // 获取file的基础信息 - info, err := zipfile.Stat() - if err != nil { - return err - } + err = func(file string) error { + zipFile, err := os.Open(file) + if err != nil { + return err + } + defer zipFile.Close() + // 获取file的基础信息 + info, err := zipFile.Stat() + if err != nil { + return err + } - header, err := zip.FileInfoHeader(info) - if err != nil { - return err - } + header, err := zip.FileInfoHeader(info) + if err != nil { + return err + } - // 使用上面的FileInforHeader() 就可以把文件保存的路径替换成我们自己想要的了,如下面 - header.Name = strings.Replace(file, oldform, newform, -1) + // 使用上面的FileInforHeader() 就可以把文件保存的路径替换成我们自己想要的了,如下面 + header.Name = strings.Replace(file, oldForm, newForm, -1) - // 优化压缩 - // 更多参考see http://golang.org/pkg/archive/zip/#pkg-constants - header.Method = zip.Deflate + // 优化压缩 + // 更多参考see http://golang.org/pkg/archive/zip/#pkg-constants + header.Method = zip.Deflate - writer, err := zipWriter.CreateHeader(header) + writer, err := zipWriter.CreateHeader(header) + if err != nil { + return err + } + if _, err = io.Copy(writer, zipFile); err != nil { + return err + } + return nil + }(file) if err != nil { return err } - if _, err = io.Copy(writer, zipfile); err != nil { - return err - } } return nil } diff --git a/web/public/index.html b/web/public/index.html index c891a74d33525648ed15307851ac489feba4fa5d..9125f71234d89811e3a935722d4ba796355f3b7d 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -8,6 +8,11 @@ GIN-VUE-ADMIN + <% if(process.env.NODE_ENV!=='development'){ %> + + + + <% } %> diff --git a/web/vue.config.js b/web/vue.config.js index 7b3b7cf676eeaa9afcf4bb8173f7fad28738c64d..d30c14772217b25d773fc5caab8b00ba3d7ee2de 100644 --- a/web/vue.config.js +++ b/web/vue.config.js @@ -59,6 +59,17 @@ module.exports = { config .when(process.env.NODE_ENV !== 'development', config => { + + // 不打包 begin + // 1.目前已经测试通过[vue,axios,echarts]可以cdn引用,其它组件测试通过后可继续添加 + // 2.此处添加不打包后,需在public/index.html head中添加相应cdn资源链接 + config.set('externals', { + vue: 'Vue', + axios: 'axios', + echarts: 'echarts' + }) + // 不打包 end + config .plugin('ScriptExtHtmlWebpackPlugin') .after('html')