test

Controller
public class UpandDownController {

    @RequestMapping("/testDown")
    public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
        //获取ServletContext对象
        ServletContext servletContext = session.getServletContext();
        //获取服务器中文件的真实路径
        String realPath = servletContext.getRealPath("/static/img/xmj.png");
        //创建输入流
        InputStream is = new FileInputStream(realPath);
        //创建字节数组
        byte[] bytes = new byte[is.available()];
        //将流读到字节数组中
        is.read(bytes);
        //创建HttpHeaders对象设置响应头信息
        MultiValueMap<String, String> headers = new HttpHeaders();
        //设置要下载方式以及下载文件的名字
        headers.add("Content-Disposition", "attachment;filename=1.jpg");
        //设置响应状态码
        HttpStatus statusCode = HttpStatus.OK;
        //创建ResponseEntity对象
        ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes, headers, statusCode);
        //关闭输入流
        is.close();
        return responseEntity;
    }


    @RequestMapping("/testUp")
    public String testUp(MultipartFile uploadpic, HttpSession session) throws IOException {
        // Get upload file name
        String filename= uploadpic.getOriginalFilename();
        System.out.println(filename);
        // Resolve same filename issue
        String subName = filename.substring(filename.lastIndexOf("."));
        filename = UUID.randomUUID().toString().replaceAll("-","") + subName;

        //Get file root from server path
        ServletContext servletContext = session.getServletContext();
        String picturePath = servletContext.getRealPath("picture");
        File filePic = new File(picturePath);
        if (!filePic.exists()){
            filePic.mkdir();
        }
        String finalPath = picturePath + File.separator+filename;
        // Implementing the upload function
        uploadpic.transferTo(new File((finalPath)));
        return "success";
    }

}
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" >
<head>
    <meta charset="UTF-8">
    <title>File Upload and Download</title>
</head>
<body>

<a th:href="@{/testDown}">Download Picture</a> <br>
<hr>

<form th:action="@{/testUp}" method="post" enctype="multipart/form-data">
    Head icon <input type="file" name="uploadpic"> <br>
    <input type="submit" value="Upload-picture">
</form>

</body>
</html>
 <!--Configure upload file -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
posted @ 2022-03-13 20:21  withLevi  阅读(62)  评论(0编辑  收藏  举报