/** * 图片上传 */ @RequestMapping("/doUploadFile") public ModelAndView doUploadFile(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws Exception, IOException { // 转型为MultipartHttpRequest: MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 获得文件: MultipartFile file = multipartRequest.getFile("image"); // 获得文件名: String filename = file.getOriginalFilename(); InputStream input = file.getInputStream(); // String path = "D:/goodsImages";下边这个path是写在配置文件里边的,方便修改,这个方法很长但或得的结果就是路劲D:/goodsImages String path = "http: //192.168.1.120/GoodsExchange/img"; File savePath = new File(path); if (!savePath.exists()) { // 文件夹 savePath.mkdir(); } SaveFileFromInputStream(input, savePath.toString(), filename); hibsaveImage(savePath.toString(), filename); System.out.println("+++++++++++++++++++"+request.getRequestURI()); String result = "上传成功!"; ModelAndView modelAndView = new ModelAndView("test"); modelAndView.addObject("result", result); modelAndView.addObject("filename", filename); return modelAndView; } public void SaveFileFromInputStream(InputStream stream,String path,String filename) throws IOException { FileOutputStream fs=new FileOutputStream( path + "/"+ filename); byte[] buffer =new byte[1024*1024]; int bytesum = 0; int byteread = 0; while ((byteread=stream.read(buffer))!=-1) { bytesum+=byteread; fs.write(buffer,0,byteread); fs.flush(); } fs.close(); stream.close(); } /** * hibernate保存图片到数据表 */ @Transactional(readOnly = false) public void hibsaveImage(String filename, String path) {//GoodsPic为图片实体类,path为图片所在磁盘的路径 Goods gp = new Goods(); ModelAndView model = new ModelAndView(); System.out.println("<<<<<<<<<<<<<<<<<"+path); try { InputStream in = null; in = new FileInputStream( filename + "/"+ path ); byte[] b = new byte[in.available()]; in.read(b); in.close(); gp.setPics(b); gp.setUrls("wwwwwwwwwwwwww"); String result = (iGoodsService.insertSelective(gp) ==1)?"添加成功": "添加失败"; } catch (Exception e) { e.printStackTrace(); } }
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> </bean>
<form name="uploadForm" id="uploadForm" method="post" action="${ctx}/Goods/doUploadFile" enctype="multipart/form-data"> <input type="file" name="image" /><br/> <input type="submit" value="上传" class="btn4" /> </form>