SpringMVC 实现文件上传和下载

文件上传

@Controller
public class TestController {

    @RequestMapping("upload")
    public String upload(MultipartFile upload) throws IOException {
        //文件名字
        String fileName = upload.getOriginalFilename();
        //文件对象
        //upload对象帮我们做传输
        upload.transferTo(new File("D://test//",fileName));
        return "welcome.jsp";
    }

}

spring-mvc.xml 配置文件缓存大小

<!--配置文件解析器-->                                                                                    
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
    <property name="maxUploadSize" value="10240000"></property>                                          
</bean> 

文件下载

@Controller
public class TestController {
    @RequestMapping("download")
    //fileName变量 名字是框架帮我们注入进去的  帮我们组合成了String
    public ResponseEntity<byte[]> download(String fileName) throws Exception {
        //获取读取文件即可
        File file = new File("D://test//"+fileName);
        //设置响应信息相关
        //  如果有中文 需要处理
        fileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        headers.setContentDispositionFormData("attachment",fileName);
        //将响应信息存入一个返回值对象内即可----ResponseEntity
        byte[] b = FileUtils.readFileToByteArray(file);
        return new ResponseEntity(b,headers,HttpStatus.CREATED);
    }

}
posted @ 2022-03-07 18:04  叕叕666  阅读(25)  评论(0)    收藏  举报