您的位置:首页 > 编程语言 > Java开发

基于SpringMVC的文件(增删改查)上传、下载、更新、删除

2018-10-26 17:12 706 查看

一、项目背景 

  摘要:最近一直在忙着项目的事,3个项目过去了,发现有一个共同的业务,那就是附件的处理,附件包括各种文档,当然还有图片等特殊文件,由于时间的关系,每次都是匆匆忙忙的搞定上线,称这项目的空档,整理了一份附件上传、下载、删除的项目,主要就是附件的处理,情况包含以下几种:

  1. 表单个附件共存

  2. 只有附件

  3. 只有表单

其中,后两种处理方式简单,本文主要说明的是第一种的处理方案。

二、项目需求

  整体来说,项目需求还是不复杂的,这里单独把附件和表单数据提交拿出来说,就是表单中的有附件的情况,表单中的附件随时可以进行替换、删除、添加等操作。折腾了很久,终于把附件上传这档子事理清楚了,这里做个记录,与各位大神共勉。

三、项目架构

  项目架构采用的是比较常用的传统的javaWeb项目开发框架,Spring4.3.4,hibernate5(ssh),MySQL 5.7,Tomcat7.0,关于该项目的如何整合,就不再多说了,网上都有,搭建一套框架,应该不是问题。该业务实现的思想就是:数据库存放文件路径,这里是物理路径,注意物理路径和虚拟路径的区别,文件存放在服务器,需要的时候通过数据库表中的物理路径可以找到相应的文件,增删改查都是可以的。

四、技术实现

 4.1 数据库创建

  打开MySQL管理工具或者CMD dos界面进入MySQL创建数据库,这里,我使用管理工具创建的,首先是文件表:

  

/**
* 文件删除
* @param path
* @return
* @throws UnsupportedEncodingException
*/
public static boolean deleteFile(String filePath,HttpServletRequest request,
HttpServletResponse response,String fileName) throws UnsupportedEncodingException {
boolean flag=false;
if(StringUtil.isNull(fileName,filePath)){
File file=new File(filePath);
if(file.exists()){
flag=file.delete();
}
}

return flag;

}
View Code 切记:删除文件和数据库中的记录一定是一个事务,删除记录的同时删除数据库中的记录,否则会出现数据不一致的情况。

最后附上相关配置文件:

1.  SpringMVC.xml

2. web.xml

 

五、总结

  在做这些项目的时候,遇到的文件上传的坑大概就这么多,目前想到的附件上传只有这一种方式,大家如果有什么好的方法,欢迎评论区讨论!

 

       源码下载: https://download.csdn.net/download/qq_42389242/10746764

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: