页面上:
- enctype = "multipart/form-data"
- method = "post"spring - mvc.xml配置文件里:
pom文件依赖jar包
- commons-fileupload
- commons-fileupload
- 1.3.3
- commons-io
- commons-io
- 2.5
controller层里:
- //获取文件名字
- String originalFilename = stockPhoto.getOriginalFilename();
- System.out.println(originalFilename + "++++++++++++++++++++");
- //获取不会重复的毫秒数
- long l = System.currentTimeMillis();
- //新名字
- String newName = l + originalFilename;
- System.out.println(newName + "----------++++++");
- //图片的输入流名字
- InputStream inputStream = stockPhoto.getInputStream();
- //存在于项目中的路径
- // String a="D:\\myproject\\LianXi\\web\\image";
- String wlPath = "D:\\myproject\\LianXi\\web\\images/" + newName;
- //逻辑路径,存到数据库中
- String ljPath = "../images/" + newName;
- //临时路径
- String realPath = request.getSession().getServletContext().getRealPath("/");
- String lsPath = realPath + "//images//" + newName;
- //如果没有那个文件夹就创建
- File wlFile = new File("D:\\myproject\\LianXi\\web\\images");
- if (!wlFile.exists()) {
- wlFile.mkdir();
- }
- File isFile = new File(realPath + "\\images\\");
- if (!isFile.exists()) {
- isFile.mkdir();
- }
- //不为空时
- if (!stockPhoto.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);
来源: https://www.2cto.com/kf/201709/683493.html