SpringMVC创建web项目基础之(三)——Spring MVC实现文件上传
来源:互联网 发布:红鸟棋牌游戏源码 编辑:程序博客网 时间:2024/06/08 13:35
有时候,最美的惊喜并不是得到,而是学会付出。——《 安娜和她的云 》
最近放慢了写作的速度,是因为我慢慢觉得有些东西还是沉淀一段时间后才会更有价值。
我们先来看看使用Spring MVC实现文件上传所需要的jar包
这里只列出了上传下载所需要的jar包,使用Spring MVC框架的jar包我在上一篇文章已经写过了,如果还没看的请点击链接springmvc创建web项目基础之二-spring-mvc与mybatis整合详解先去看我的上一篇文章。
一、前端页面实现
前端页面很简单,样子如下:
<div class="col-lg-12" style="margin-top: 10px"><form id="upLoad_form" method="post" enctype="multipart/form-data"> <input type="file" id="picture" name="file"> <button type="button" id="upload_btn" class="btn btn-primary" >上传图片</button></form></div>
二、后端实现
1.控制器BookShopController
在这个项目里简单实现一个上传图片的功能。
2.服务接口BookShopService
public interface BookShopService {public void uploadFile(MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws Exception;}
3.服务接口的实现类BookShopServiceImpl
@Servicepublic class BookShopServiceImpl implements BookShopService {@Overridepublic void uploadFile(MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws Exception {BookShopUploadUtil.fileUp(file,request,response);}}
4.上传文件工具类BookShopUploadUtil
这个是实现上传文件的核心实现
public class BookShopUploadUtil {/** * 上传图片 */ public static void fileUp(MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws Exception { String path="";//保存图片路径 String filePath = Consts.CONTEXTPATH;//显示图片路径(相对路径) try { if (!file.isEmpty()){ //得到服务器中保存文件的绝对路径 path = request.getServletContext().getRealPath(Consts.SAVE_PATH + "/"); //新建文件夹 newFolder(path); //新建文件夹完成后将路径添加文件名 path += file.getOriginalFilename(); //页面显示图片的相对路径 filePath += "/" + Consts.SAVE_PATH + "/" + file.getOriginalFilename(); //使用StreamsAPI方式拷贝文件 Streams.copy(file.getInputStream(),new FileOutputStream(path),true); //将上面得到的图片相对路径返回给页面 JSONObject json = new JSONObject(); json.accumulate(Consts.SRC, filePath); json.accumulate("error", false); json.accumulate("message", "上传成功!"); PrintWriter out = response.getWriter(); out.print(json.toString()); out.flush(); out.close(); } } catch (Exception e) { System.out.println("文件上传失败"); e.printStackTrace(); path=""; } }/** * 创建文件夹 * * @param folderPath */ public static void newFolder(String folderPath) { try { File myFilePath = new File(folderPath); if (!myFilePath.exists()) { //创建多级文件夹 myFilePath.mkdirs(); System.out.println("创建文件夹路径:" + folderPath); } } catch (Exception e) { System.out.println("新建文件夹操作出错"); e.printStackTrace(); } }}
Consts.SAVE_PATH是一个字符串常量,表示存放路径
public class Consts { public final static String SRC = "src"; public final static String SAVE_PATH = "resources/bookshopupload/savefile/"; }
至此实现就完成了,效果如下
如果你喜欢我的文章请扫描主页的微信公众号二维码,每天都有新推文。
如果你喜欢我的文章请收藏我的个人网站:http://www.bubblyyi.com
1 0
- SpringMVC创建web项目基础之(三)——Spring MVC实现文件上传
- SpringMVC创建web项目基础之(二)——Spring MVC与Mybatis整合详解
- Spring Web mvc Maven实现文件上传
- Spring Web mvc Maven实现文件上传
- Springmvc,Spring MVC文件上传
- spring springmvc实现文件上传
- Spring+Springmvc实现文件上传
- spring mvc 实现任意文件上传—— 下载<二>
- SpringMVC核心一(Spring web mvc基础)
- Spring MVC 实现文件上传
- spring MVC实现文件上传
- Spring MVC实现文件上传
- Spring mvc实现文件上传
- Spring mvc 实现文件上传
- Spring MVC实现文件上传
- spring mvc基础之文件上传(基于html5)
- java web文件上传-spring web MVC
- 项目总结——MVC+MongoDB实现文件上传
- 1034. 有理数四则运算(20)
- 广度优先搜索(Breadth First Search,BFS)
- 省份-城市-区域三级联动【Struts2 + JSON版】
- 1070. Mooncake (25)
- java向上转型和向下转型
- SpringMVC创建web项目基础之(三)——Spring MVC实现文件上传
- 几种进制数的转化
- Menu 菜单的使用
- 1035. 插入与归并(25)
- PLSQL Trigger Dynamic SQL
- BT——专门为大容量文件的共享而设计的网络协议
- 对于大流量网站的解决方案
- Python产生随机数
- VMware下CentOS7网络重启出错解决方案