springmvc上传与下载

来源:互联网 发布:求一个windows live id 编辑:程序博客网 时间:2024/05/14 15:26

上传

1.在spring文件中配置

<!-- springmvc 配置拦截 / 所有资源都被拦截 图片无法展示 将除控制层以外的资源交回给servlet处理 --><mvc:default-servlet-handler /><!-- 将springmvc注解的action交给springmvc处理 --><mvc:annotation-driven></mvc:annotation-driven><!-- 启用文件上传 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 限制上传文件大小 5M --><property name="maxUploadSize" value="5242880"></property></bean>

2.使用MultipartFile进行文件的上传


MultiparFile 的名称 必须和form表单中的file 的name值一致
@RequestMapping(value = "/insertFood", method = RequestMethod.POST)public String insertFood(String foodName, String price,MultipartFile imageUrl, Model model) throws Exception {// 获取文件名String fileName = imageUrl.getOriginalFilename();String absPath = "E:\\JaveEE1607\\SpringMvcLesson\\src\\main\\webapp\\images";imageUrl.transferTo(new File(absPath + "\\" + fileName));foodService.insertFood(foodName, price, "\\" + fileName);return queryFood(null, null, model);}

下载

@RequestMapping(value = "/download",method=RequestMethod.GET)public ResponseEntity<byte[]> fileDowload(String imageUrl) throws Exception {String fileName = imageUrl;// 需要下载的目标文件File file = new File("E:\\JaveEE1607\\SpringMvcLesson\\src\\main\\webapp\\images" + fileName);// 设置响应头HttpHeaders hh = new HttpHeaders();// 设置下载的文件的名称hh.setContentDispositionFormData("attachment",URLEncoder.encode(fileName, "UTF-8"));// 读取目标文件为二进制数组byte[] fileByte = FileCopyUtils.copyToByteArray(file);// 构建ResponseEntity对象ResponseEntity<byte[]> re = new ResponseEntity<byte[]>(fileByte, hh,HttpStatus.CREATED);return re;}


原创粉丝点击