页面上: enctype="multipart/form-data"method="post" spring-mvc.xml配置文件里:<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8" /> <!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="10240000" />
pom文件依赖jar包<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency>
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);
上传图片
Spring MVC 文件上传实践
最新推荐文章于 2023-02-09 18:00:31 发布
本文介绍如何使用Spring MVC实现文件上传功能,包括配置文件multipartResolver的详细设置、依赖的jar包引入,以及Controller层的具体实现步骤。通过示例代码展示了如何获取文件名、创建唯一文件标识、处理文件路径及进行文件的读写操作。
2万+

被折叠的 条评论
为什么被折叠?



