文件上传与下载

来源:互联网 发布:淘宝投诉处理流程 编辑:程序博客网 时间:2024/06/04 17:52

Thymeleaf 页面渲染

<form action="/" method="post" enctype="multipart/form-data">    上传文件:    <input type="file" name="file"/><br/>    <input type="submit" value="上传"/></form><ul>    <li th:each="file:${files}">    <a th:href="${file}"><img th:src="${file}"/></a>    </li></ul>

SpringMVC,使用Java7 New IO

    ...    private final Path location = Paths.get("src/main/resources/files");    @GetMapping    public String show(Model model) throws IOException {        if (!Files.exists(location)) Files.createDirectory(location);        List<Path> files = Files.list(location)                .map(location::relativize)                .map(file -> Paths.get("files").resolve(file))                .collect(Collectors.toList());        model.addAttribute("files", files);        return "index";    }    //上传    @PostMapping("/upload")    public String upload(HttpServletRequest request) throws IOException, ServletException {        Part part = request.getPart("file");        InputStream src = part.getInputStream();        Path des = location.resolve(part.getSubmittedFileName());        if (!Files.exists(des))            Files.copy(src, des);        return "redirect:/";    }    //下载    @GetMapping("files/{filename:.+}")    public void get(@PathVariable String filename, HttpServletResponse response) throws IOException {        Path src = location.resolve(filename);        if (Files.exists(src))            Files.copy(src, response.getOutputStream());    }    ...
0 0
原创粉丝点击