基于SpringMVC的文件(增删改查)上传、下载、更新、删除
一、项目背景
摘要:最近一直在忙着项目的事,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
- java基于Apache FTP实现文件上传、下载、修改文件名、删除
- SpringMVC ajax技术无刷新文件上传下载删除示例
- SpringMVC ajax技术无刷新文件上传下载删除示例
- 基于SpringMVC的文件上传下载功能
- SpringMVC ajax技术无刷新文件上传下载删除示例
- 基于SpringMVC的文件上传和下载
- springMVC实现文件上传 删除 下载
- 基于springmvc的文件上传与下载
- 基于struts的文件上传与下载
- SpringMvc文件上传、下载和拦截器
- springMVC高级部分(数据校验,数据错误回显(自定义格式错误显示),拦截器,异常处理,文件上传,文件下载,springmvc运行流程以及springmvc和struts2对比)
- java定时备份mysql,定时ftp上传,下载,删除,重命名,文件(改)
- SpringMVC学习记录(四)--文件上传与下载
- 基于sftp来上传和下载文件
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总
- 经测试能用springmvc的文件上传下载并解决ie8文件上传后提示下载
- springmvc文件上传下载简单实现案例(ssm框架使用)
- SpringMVC实现文件上传和下载功能
- SpringMVC学习笔记八:文件上传下载(转)
- Open XML的上传、下载 、删除 ......文件路径