文件上传fileupload实现

首页 / 新闻资讯 / 正文

<!--上传-->  <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency>     <groupId>commons-io</groupId>     <artifactId>commons-io</artifactId>     <version>2.4</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency>     <groupId>commons-fileupload</groupId>     <artifactId>commons-fileupload</artifactId>     <version>1.3.1</version> </dependency> 

<bean id="multipartResolver"       class="org.springframework.web.multipart.commons.CommonsMultipartResolver">     <property name="defaultEncoding" value="UTF-8" />     <!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->     <property name="maxUploadSize" value="10240000" /> </bean>

<form action="StockController/addStock.action"  method="post" enctype="multipart/form-data"> 
	<input type="file" name="multipartFile"/><br/>
	<input type="submit" value="添加">
</form>

@RequestMapping(value = "addStock" ,method = RequestMethod.POST)     public String addStock(Stock stock, MultipartFile multipartFile, HttpServletRequest request) throws IOException {                        System.out.println(multipartFile + "-------------------------------"); //获取文件名字         String originalFilename = multipartFile.getOriginalFilename();         System.out.println(originalFilename + "++++++++++++++++++++"); //获取不会重复的毫秒数         long l = System.currentTimeMillis(); //新名字         String newName = l + originalFilename;         System.out.println(newName + "----------++++++"); //图片的输入流名字         InputStream inputStream = multipartFile.getInputStream(); //存在于项目中的路径         String wlPath = "E:\\小实训1\\xupeng20170919\\web\\image/" + newName; //逻辑路径,存到数据库中         String ljPath = "../image/" + newName; //临时路径         String realPath = request.getSession().getServletContext().getRealPath("/");         String lsPath = realPath + "//image//" + newName;  //如果没有那个文件夹就创建         File wlFile = new File("E:\\小实训1\\xupeng20170919\\web\\image");         if (!wlFile.exists()) {             wlFile.mkdir();         }         File isFile = new File(realPath + "\\image\\");         if (!isFile.exists()) {             isFile.mkdir();         } //不为空时         if (!multipartFile.isEmpty()) {             //输出流 写物理路径             FileOutputStream wlStream = new FileOutputStream(wlPath);             //输出流 写临时路径             FileOutputStream lsStream = new FileOutputStream(lsPath);             int len = 0;             while ((len = inputStream.read()) != -1) {                 wlStream.write(len);//写入                 lsStream.write(len);              }             wlStream.flush();             lsStream.flush();              wlStream.close();             lsStream.close();              inputStream.close();          }         System.out.println(wlPath);         System.out.println(ljPath);         System.out.println(lsPath); stock.setStockPhoto(ljPath);         stockService.addStock(stock);                  return  "redirect:findStockAll.action";              }