当前位置: 首页 > news >正文

SpringMVC的文件上传与下载

SpringMVC文件上传:
使用:org.springframework.web.multipart.commons.CommonsMultipartResolver
使用:headPhoto.transferTo(file);

2、文件存储位置问题

String realPath = request.getServletContext().getRealPath("/upload")
String dir = new File(realPath);
if(!dir.exists()){
    dir.mkdirs();
}

静态资源放行

<mvc:resources mapping="/upload/**" location="/upload/"></mvc:resources  >


3、文件名冲突问题:

//避免文件名冲突 ,使用UUID替换文件名
String uuid = UUID.randomUUID().toString();
//获取拓展名
String extendsname = originalFilename.subString(originalFilename.lastIndexOf("."))
//新的文件名
String newFileName = uuid.concat(extendsname);
File file = new File(dir, newFileName )
headPhoto.transferTo(file);


4、控制文件类型问题

使用代码逻辑处理

5、文

相关文章:

  • element el-table表格内容宽度自适应,不换行,不隐藏
  • NR 2-STEP RA Absolute Timing Advance Command MAC CE的应用场景
  • 连接未来:嵌入式系统在物联网时代的应用
  • 【每日前端面经】2023-02-27
  • go - 学习笔记 -2
  • 服务器防火墙的应用技术有哪些
  • Redis 16种妙用
  • 黑马程序员——接口测试——day03——Postman断言、关联、参数化
  • 智慧公厕让社区生活更美好
  • Python实战:读取MATLAB文件数据(.mat文件)
  • windows系统使用Vscode在WSL调试golang本地进程
  • windows安装部署node.js并搭建Vue项目
  • 半小时到秒级,京东零售定时任务优化怎么做的?
  • 数据库 -neo4j的基本操作
  • Flink SQL 中的流式概念:状态算子
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CentOS从零开始部署Nodejs项目
  • iOS 颜色设置看我就够了
  • mysql innodb 索引使用指南
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React as a UI Runtime(五、列表)
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Zepto.js源码学习之二
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 安装python包到指定虚拟环境
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 检测对象或数组
  • 排序(1):冒泡排序
  • 前端知识点整理(待续)
  • 少走弯路,给Java 1~5 年程序员的建议
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • Mac 上flink的安装与启动
  • Semaphore
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (转)【Hibernate总结系列】使用举例
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)nsfocus-绿盟科技笔试题目
  • (转)关于pipe()的详细解析
  • .NET Core WebAPI中封装Swagger配置
  • .NET/C# 使窗口永不获得焦点
  • .net经典笔试题
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • ?php echo ?,?php echo Hello world!;?
  • @拔赤:Web前端开发十日谈
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [android] 练习PopupWindow实现对话框
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [C#] 我的log4net使用手册
  • [DP 训练] Longest Run on a Snowboard, UVa 10285