瀏覽代碼

init: init project step4: biz code support

shc 1 年之前
父節點
當前提交
96eb71efe8

+ 54 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTemplateFileController.java

@@ -0,0 +1,54 @@
+package com.qunzhixinxi.hnqz.admin.controller;
+
+import cn.hutool.json.JSONUtil;
+import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
+import lombok.AllArgsConstructor;
+import lombok.SneakyThrows;
+import org.apache.commons.io.IOUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+/**
+ * {@code WmTemplateFileController} 模板文件控制层
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021-04-16
+ * @since ver.1.0.0
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/template-file")
+public class WmTemplateFileController {
+
+    /**
+     * 根据模板文件名称下载模板
+     *
+     * @param paramStr 模板名称
+     * @param response response
+     */
+    @PostMapping(value = "/download")
+    @SneakyThrows
+    public void templateFileDownload(@RequestBody String paramStr, HttpServletResponse response) {
+        String fileName = JSONUtil.parseObj(paramStr).getStr("fileName");
+        String locPath = (String) OsEnvUtils.getEachEnvPaths().get("EXCEL_FILE_PATH");
+        File file = new File(locPath + fileName);
+        byte[] bytesArray = new byte[(int) file.length()];
+        FileInputStream fileInputStream = new FileInputStream(file);
+        fileInputStream.read(bytesArray);
+
+        response.reset();
+        response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
+        response.addHeader("Content-Length", "" + bytesArray.length);
+        response.setContentType("application/octet-stream; charset=UTF-8");
+
+        IOUtils.write(bytesArray, response.getOutputStream());
+    }
+}