Browse Source

上传下载

dongql 7 years ago
parent
commit
1fb9e4b113

+ 6 - 0
oa_service/pom.xml

@@ -51,6 +51,12 @@
 
         <dependency>
             <groupId>com.bjlt.spider</groupId>
+            <artifactId>luyn-utils</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.bjlt.spider</groupId>
             <artifactId>spider-rpc</artifactId>
             <version>${spider-version}</version>
         </dependency>

+ 53 - 0
oa_service/src/main/java/com/bjlt/spider/table/controller/OaAccountController.java

@@ -5,14 +5,19 @@ import com.bjlt.spider.table.service.OaAccountService;
 import com.bjlt.spider.util.RespEntity;
 import com.bjlt.spider.utils.LayuiTableRespEntity;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.platform.commons.logging.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.*;
 import java.util.Date;
 import java.util.List;
+import java.util.logging.Logger;
 
 @RequestMapping(value = "/oaAccount")
 @Slf4j
@@ -60,4 +65,52 @@ public class OaAccountController {
         }
 
     }
+
+
+    /**
+     * 导入
+     * @param
+     * @return
+     */
+    /*@RequestMapping("/greeting")
+    public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
+        model.addAttribute("name", name);
+        return "greeting";
+    }*/
+    private static final Logger logger = (Logger) LoggerFactory.getLogger(OaAccountController.class);
+    //文件上传相关代码
+    @RequestMapping(value = "upload")
+    @ResponseBody
+    public String upload(@RequestParam("test") MultipartFile file) {
+        if (file.isEmpty()) {
+            return "文件为空";
+        }
+        // 获取文件名
+        String fileName = file.getOriginalFilename();
+        logger.info("上传的文件名为:" + fileName);
+        // 获取文件的后缀名
+        String suffixName = fileName.substring(fileName.lastIndexOf("."));
+        logger.info("上传的后缀名为:" + suffixName);
+        // 文件上传后的路径
+        String filePath = "D://test//";
+        // 解决中文问题,liunx下中文路径,图片显示问题
+        // fileName = UUID.randomUUID() + suffixName;
+        File dest = new File(filePath + fileName);
+        // 检测是否存在目录
+        if (!dest.getParentFile().exists()) {
+            dest.getParentFile().mkdirs();
+        }
+        try {
+            file.transferTo(dest);
+            return "上传成功";
+        } catch (IllegalStateException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return "上传失败";
+    }
+
+
+
 }

+ 51 - 0
oa_service/src/main/java/com/bjlt/spider/table/controller/OaPriceInExcelController.java

@@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
 import java.util.List;
 
 @RequestMapping(value = "/oaPriceInExcel")
@@ -34,4 +36,53 @@ public class OaPriceInExcelController {
 
         return layuiTableRespEntity;
     }
+
+    //文件下载相关代码
+    @RequestMapping("/download")
+    public String downloadFile(org.apache.catalina.servlet4preview.http.HttpServletRequest request, HttpServletResponse response){
+        String fileName = "FileUploadTests.java";
+        if (fileName != null) {
+            //当前是从该工程的WEB-INF//File//下获取文件(该目录可以在下面一行代码配置)然后下载到C:\\users\\downloads即本机的默认下载的目录
+            String realPath = request.getServletContext().getRealPath(
+                    "//WEB-INF//");
+            File file = new File(realPath, fileName);
+            if (file.exists()) {
+                response.setContentType("application/force-download");// 设置强制下载不打开
+                response.addHeader("Content-Disposition",
+                        "attachment;fileName=" +  fileName);// 设置文件名
+                byte[] buffer = new byte[1024];
+                FileInputStream fis = null;
+                BufferedInputStream bis = null;
+                try {
+                    fis = new FileInputStream(file);
+                    bis = new BufferedInputStream(fis);
+                    OutputStream os = response.getOutputStream();
+                    int i = bis.read(buffer);
+                    while (i != -1) {
+                        os.write(buffer, 0, i);
+                        i = bis.read(buffer);
+                    }
+                    System.out.println("success");
+                } catch (Exception e) {
+                    e.printStackTrace();
+                } finally {
+                    if (bis != null) {
+                        try {
+                            bis.close();
+                        } catch (IOException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    if (fis != null) {
+                        try {
+                            fis.close();
+                        } catch (IOException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                }
+            }
+        }
+        return null;
+    }
 }