springmvc文件上传
来源:互联网 发布:mac可以玩lucky dog1 编辑:程序博客网 时间:2024/06/07 18:51
首先引入两个maven依赖
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency>
springmvc配置文件:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="104857600" /> <property name="maxInMemorySize" value="4096" /> <property name="defaultEncoding" value="UTF-8"></property> </bean>
随后写一个jsp,发送请求,务必记住要加 enctype
<form action="/fileupload/do3.do" method="post"enctype="multipart/form-data"> 选择文件:<input type="file" name="file"/><br/> <input type="submit" value="提交" /></form>
controller层
有3个方法
@Controller@RequestMapping("/fileupload")public class TestFileUpLoadController { private static final Logger log= LoggerFactory.getLogger(TestFileUpLoadController.class); @RequestMapping(value = "/file.do",method = RequestMethod.POST) public String fileUpload(@RequestParam(value="file",required = false)MultipartFile files[]) throws IOException { for(MultipartFile file : files){ System.out.println(file.getOriginalFilename());//得到文件的原始名字 System.out.println(file.getName());//得到文件的字段的名字”file InputStream in = file.getInputStream(); OutputStream out = new FileOutputStream("d:/"+file.getOriginalFilename()); int len=0; byte[] buf =new byte[1024]; while((len=in.read(buf))!=-1){ out.write(buf); out.flush(); } out.close(); in.close(); } return "fileSuccess"; } ``` @RequestMapping(value="do2.do",method = RequestMethod.POST) public String fileUpload(@RequestParam("file") CommonsMultipartFile file) throws IOException { //用来检测程序运行时间 long startTime=System.currentTimeMillis(); System.out.println("fileName:"+file.getOriginalFilename()); try { //获取输出流 OutputStream os=new FileOutputStream("D:/"+new Date().getTime()+file.getOriginalFilename()); //获取输入流 CommonsMultipartFile 中可以直接得到文件的流 InputStream is=file.getInputStream(); int temp; //一个一个字节的读取并写入 while((temp=is.read())!=(-1)) { os.write(temp); } os.flush(); os.close(); is.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } long endTime=System.currentTimeMillis(); System.out.println("方法一的运行时间:"+String.valueOf(endTime-startTime)+"ms"); return "fileSuccess"; }
@RequestMapping(value = "/do3.do",method = RequestMethod.POST) public String fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException { long startTime=System.currentTimeMillis(); System.out.println("fileName:"+file.getOriginalFilename()); String path="D:/"+new Date().getTime()+file.getOriginalFilename(); File newFile=new File(path); //通过CommonsMultipartFile的方法直接写文件(注意这个时候) file.transferTo(newFile); long endTime=System.currentTimeMillis(); System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms"); return "fileSuccess"; }}
阅读全文
0 1
- springMVC(11) springMVC文件上传
- SpringMVC-----8、SpringMVC上传文件
- springmvc文件上传总结
- SpringMVC multipart文件上传
- SpringMVC中的文件上传
- springmvc的文件上传
- springMVC上传文件
- springMVC 文件上传
- SpringMVC - 文件上传篇
- springMVC文件上传
- springMVC文件上传
- springMVC文件上传
- SpringMVC 上传文件
- SpringMVC文件上传
- springMVC上传文件
- springMVC上传文件例子
- springMVC上传文件
- springmvc文件上传错误
- 深入spring cloud(1)
- POJ1598-C语言
- CodeForces 566 A Matching Names(Trie 匹配LCP和最大)
- git学习笔记2——ProGit2
- 【Leetcode】【python】Factorial Trailing Zeroes
- springmvc文件上传
- C#简单工厂设计模式实现计算器
- Linux中的软连接与硬链接
- Matlab的Gauss_Seidel迭代方法解线性方程组
- IOS helloworld
- Python学习笔记(九)——异常处理
- shell jq 解析json
- 8.3 证明吝啬SAT是NP-完全问题。
- {"errcode":40054,"errmsg":"invalid sub button url domain hint: [WWA480339vr20]的解决办法