SpringMVC文件上传
2017-01-21 22:36
381 查看
SpringMVC图片上传
springMvc有对上传文件的支持的接口, 但是没有实现, 所以需要第三方的实现包。
SpringMVC图片上传
配置虚拟目录
配置依赖
在SpringMVC配置文件中配置
文件上传Controller
上传页面
上传成功页面
测试
配置虚拟目录
在tomcat上配置图片虚拟目录,在
tomcat下
conf/server.xml中添加:
<Context docBase="G:\uploads" path="/uploads" reloadable="false"/>
访问
http://localhost:8080/uploads/即可访问
G:\uploads下的图片。
也可以通过
eclipse配置:
配置依赖
CommonsMultipartResolver解析器依赖
commons-fileupload和
commons-io,加入如下依赖:
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
在SpringMVC配置文件中配置
<!-- 文件上传处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置上传文件的最大尺寸为5MB --> <property name="maxUploadSize" value="5242880"/> <!-- 设置默认编码格式 --> <property name="defaultEncoding" value="UTF-8"/> </bean>
文件上传Controller
package com.pc.ssm.web.controller; import java.io.File; import java.util.UUID; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; /** * 文件上传控制器 * * @author Switch * @data 2017年1月13日 * @version V1.0 */ @Controller @RequestMapping(value = "/upload") public class UploadController { @RequestMapping("/imageUI") public String imageUI() throws Exception { return "upload"; } @RequestMapping(value = "/image", method = RequestMethod.POST) public String image(@RequestParam("image")MultipartFile pictureFile, Model model) throws Exception { // 判断文件是否为空 if (!pictureFile.isEmpty()) { // 获取原始文件名 String originalFilename = pictureFile.getOriginalFilename(); // 使用UUID生成随机文件名 String fileName = UUID.randomUUID().toString().replace("-", "") + originalFilename.substring(originalFilename.lastIndexOf(".")); String path = "G:\\uploads\\"; File image = new File(path + fileName); // 如果文件目录不存在,创建之 if (!image.exists()) { image.mkdirs(); } // 写文件 pictureFile.transferTo(image); model.addAttribute("image", fileName); } return "upSuccess"; } }
上传页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文件上传页面</title> </head> <body> <form action="${pageContext.request.contextPath}/upload/image.action" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="上传"> </form> </body> </html>
上传成功页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片</title> </head> <body> <h2>图片</h2> <img alt="图片" src="/uploads/${image}" width="500px"> </body> </html>
测试
访问:http://localhost:8080/SpringMVCAdvanced/upload/imageUI.action上传文件。
相关文章推荐
- Shiro学习之路 Hello Shiro(一)
- Linux 下最棒的 11 个图片查看器
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- upload上传单张图片
- 图片引发的溢出危机(图)
- C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法
- ASP实现文件上传的方法
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- 如何使用C#从word文档中提取图片
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- C#图片添加水印的实现代码
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法
- C#实现图片加相框的方法