web 文件上传和下载
来源:互联网 发布:域名备案买什么服务器 编辑:程序博客网 时间:2024/06/04 19:49
1,文件下载功能:
控制器层代码如下:
/*下载测试*/ @RequestMapping(value="downloadTest.do") public void downloadTest(HttpServletResponse response, HttpServletRequest request){ log.info("下载测试, downloadTest.do,"); String str = "下载测试"; ServletOutputStream sos = null; FileInputStream fis = null; try { sos = response.getOutputStream(); //得到网络输出流 //获取文件真实路径 String filePath = request.getSession().getServletContext().getRealPath("/web-inf/file/music/music1.mp3"); String fileName = filePath.substring(filePath.lastIndexOf("\\") + 1); //获取文件名 response.setContentType("multipart/form-data"); //设置文件类型(自动) response.setHeader("Content-Disposition", "attachment;fileName="+ fileName); //设置文件名 fis = new FileInputStream(filePath); //文件输入流 int len; //一次读取文件字节长度 byte[] bytes = new byte[1024]; //字节缓存区域 while((len = fis.read(bytes)) != -1){ sos.write(bytes, 0, len); } sos.flush(); //刷新输出流(确保所有字节都已经通过) } catch (IOException e) { e.printStackTrace(); } finally{ //关闭流 try { sos.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
页面标签:
<a class="btn btn-info" type="button" href="test/downloadTest.do">下载</a>
实现效果:
二,文件上传
前端标签如下,
<form enctype="multipart/form-data" action="test/upload.do" method="post"> <div class="row"> <div class="col-xs-4"> <input type="file" name="file" > </div> <div class="col-xs-4"> <input type="submit" class="btn btn-danger" value="上传文件"> </div> </div> </form>
注意: enctype=”multipart/form-data” 不能少
然后在 springmvc的配置文件中加入:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="1000000"/> </bean>
后台使用MultipartFile 类接收上传来的文件,
/*上传测试*/ @RequestMapping(value="upload.do") public ModelAndView upload(@RequestParam("file") MultipartFile file, HttpServletRequest request){ Map<String, Object> json = new HashMap<String, Object>(); FileOutputStream fos = null; try { byte[] bytes = file.getBytes(); log.info("file-byte-lengerth: " + bytes.length); String fileName = request.getServletContext().getRealPath("/web-inf/file/" + file.getOriginalFilename()); log.info("fileName: " + fileName); fos = new FileOutputStream(fileName); fos.write(bytes); fos.flush(); } catch (IOException e) { e.printStackTrace(); } finally{ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } return new ModelAndView(new JsonView(), json); }
0 0
- web 文件上传和下载
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过 Web Services 上传和下载文件
- 通过Web Services上传和下载文件
- Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 通过Web Services上传和下载文件
- 负载均衡
- ACM博弈学习小结
- 课后小结面向对象
- 第一次写技术博客
- UML9种图形
- web 文件上传和下载
- 深入解析hashcode,hashMap源码
- spring MVC
- 编译安装openssl报错:POD document had syntax errors at /usr/bin/pod2man line 69. make: *** [install_docs]
- Redis笔记十之安全策略
- AndroidGradlePlugin指南(六)高级构建定制
- 路由器做端口映射后外网ip访问不了
- mybatis的简介
- Hadoop之——随笔杂谈