springmvc框架的文件上传下载工具类

【SpringMVC 】什么是SpringMVC(三)?基于springmvc的文件上传、基于springmvc的拦截器、基于springmvc的邮件发送 @@@@@@@@@@@邮件发送 通过java进行邮件发送,会涉及到两种协议: 1、smtp 简单邮件传输协议 作用:用于指定如何发送邮件 2、pop3 邮局协议版本3 作用:用于指定如何接收邮件 @@@@@@@@我们在进行邮件发送时,首先需要开通邮箱的这两个协议 @@@@@@@@邮件发送的过程 此处,我们以QQ邮箱为例,进行配置,准备工作 登录QQ邮箱,开通smtp,pop3协议 阅读详情
package com.track.util;


import org.springframework.web.multipart.MultipartFile;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.util.Date;


/**
* 调用实例:
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartHttpServletRequest.getFileMap();

MultipartFile multipartFile = fileMap.get("file1");
String originalFilename = multipartFile.getOriginalFilename(); //004.jpg   为空就说明没有上传文件
String url=null;
if (originalFilename!=null) {
url = FileUtils.upload(multipartFile, photoPath);
}
*/


/**
 * SSM框架的的文件上传,下载工具类
 */
 
private static final String path = "/Upload/";

//上传图片路径
public static final String photoPath = path+"Photo/";
//默认图片
public static final String defaultImg="/Public/images/Photo_03.png";


public static final String defaultSignature="/Public/images/images/qianm_03.png";

//获取服务器路径
public String systemPath(){
URL u = this.getClass().getResource("/");
System.out.println(u);
String c = this.getClass().getResource("/").getPath();
System.out.println(c);
try {
c = java.net.URLDecoder.decode(c, "utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(c);
String pp = c.substring(1, c.lastIndexOf("WEB-INF"));
System.out.println(pp);
return pp;
}
 
public class FileUtils {


// 上传路径
private static String systemPath = systemPath();


/**
* function:文件上传类
*/
public static String upload(MultipartFile multipartFile, String path) throws IOException {


String originalFilename = multipartFile.getOriginalFilename();
if (originalFilename.trim() != "") {
String fileType = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
String fileName = DateUtils.format(new Date(), DateUtils.DATE_TIME_ALL) + fileType;
File dir = new File(systemPath+path, fileName);
if (!dir.exists()) {
dir.mkdirs();
}
// MultipartFile自带的解析方法
multipartFile.transferTo(dir);
//return dir.toString();
return fileName;
}
return "";
}


/**
* function:文件下载类
*/
public static void downloadTemplate(HttpServletResponse response, String path) throws IOException {


File file = new File(path);// path是根据日志路径和文件名拼接出来的
String filename = file.getName();// 获取文件名称
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
// 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名
response.addHeader("Content-Disposition",
"attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"), "iso8859-1"));
response.addHeader("Content-Length", "" + file.length());
OutputStream os = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
os.write(buffer);// 输出文件
os.flush();
os.close();
}
}
springmvc+poi 导入导出文件controller以及工具类 Springmvc+poi 实现导入导出excel的controller方法和工具类 立即下载

相关推荐

SpringMVC可以用的工具类

SpringMVC可以用的工具类,对初学者有点帮助,资源应该还不全面我也是刚接触后面了解后再补充

java文件上传

1:通过fileUrl文件路径上传 String filePath = map.get(“fileUrl”).toString(); if (StringUtils.isBlank(filePath)) { throw new TRetailBizException(“上传文件地址不能为空”); } File file = new File(filePath); if (!file.exists()) { //创建临时目录 file.mkdir(); } HSSFWorkbook workbook = ne

weixin_45723447的博客 268

springMVC包.zip

springMVC-4.3.0所有所需jar包,当时在用,所以整理了一下

Java字符串截取

//取扩展名不要“.” String extName = originalFilename.substring(originalFilename.lastIndexOf(“.”) + 1); IndexOf、LastIndexOf、Substring

Brooks Lv 1281

文件上传工具类UploadFileUtil

文件上传工具类UploadFileUtil

SpringMVC文件上传和下载的工具类(完整项目)

本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中。开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成类。

项目笔记之------Excel导入

java实现Excel表格导入,存入笔记,方便以后自用,如有错误,希望大佬们指点

hu__jun的博客 545

Kubernetes集群环境搭建与初始化

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

m0_75254642的博客 1526

SpringBoot中 判断上传的文件类型 MultipartFile file

最新项目中有遇到 对于上传文件类型的判断 我们需要上传的文件是 excel类型的 原来我的做法很简单 就是 获取文件名然后去判断 后缀名是否是 .xls 或者是 .xlsx 类型 //判断文件类型是否正确 String originalFilename = file.getOriginalFilename(); String fileType = originalFilename.substring(originalFilename.last...

paohui001lqp的博客 2万+

AF3 ProteinDataset类的_patch方法解读

AlphaFold3 protein_dataset模块 ProteinDataset 类  _patch 方法的主要目的是围绕锚点残基(anchor residues)裁剪蛋白质数据,提取一个局部补丁(patch)作为模型输入。

qq_27390023的博客 1148

Python实战:用SkillMetrics库5分钟搞定泰勒图绘制(附完整代码)

本文详细介绍了如何使用Python的SkillMetrics库快速绘制专业泰勒图,以直观对比多个模型的预测性能。通过整合相关系数、标准差和中心化均方根误差三个核心指标,该工具能帮助数据科学家和研究者高效完成模型评估与可视化,提升分析报告质量。文章提供了从环境配置、数据准备到高级定制与子图对比的完整代码示例。

7z8x2c4v6b9的博客 373

Java的新项目学成在线笔记-day8(二)

1.1.3 API接口 1.1.3.1模型类 系统的文件信息(图片、文档等小文件的信息)在mongodb中存储,下边是文件信息的模型类。 1) 模型如下: [AppleScript]纯文本查看复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 ...

czbkzmj的博客 240

从零搭建无人机仿真环境:ROS 2与Gazebo Fortress实战指南

本文提供了一份详细的无人机仿真环境搭建实战指南,基于Ubuntu 22.04系统,整合ROS 2 Humble与Gazebo Fortress两大核心工具。通过分步讲解安装、配置及桥接过程,并引入PX4飞控与XTDrone2工具链,帮助开发者快速构建一个稳定、高效的无人机算法开发与测试平台,有效降低真机测试的成本与风险。

water的专栏 430

springmvc文件上传下载工具类的封装(自己手写)

springmvc文件上传下载工具类的封装 1.工具类 FileUploadAndDownUtils package com.shaoming.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; i

java技术博客 429

STM32G0/G4电机控制中三角函数与浮点运算优化实战

三角函数(sin/cos)和浮点运算是电机矢量控制(FOC)的核心基础,直接影响Clark/Park变换、SVPWM及观测器的实时性与精度。在资源受限的MCU上,标准math.h库因无硬件FPU支持而引发严重时序抖动,导致电流环延迟、转矩脉动增大甚至系统复位。通过硬件加速(如STM32G4的CORDIC协处理器)或定制化定点算法(如STM32G0的查表+线性插值),可将sin/cos计算从数十微秒压缩至1–3 μs量级,提升30倍以上效率。该方案广泛适用于BLDC/PMSM驱动、伺服控制及高动态响应嵌入式运

weixin_35751412的博客 111

SAP_FICO模块-资产减值功能对折旧和残值的影响

SAP_FICO模块-资产减值操作对资产历史折旧以及后续折旧的影响,包括减值操作的配置前提

风沙的博客 2806

SpringMVC的文件上传

文件上传客户端表单需要满足:表单项type=“file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”

楠黎倾风的博客 2万+

MIPI D-PHY IP 使用说明(一)

目录 前言 一、IP 特点 二、IP 可用性 三、IP 总览 四、IP 声明 五、IP 结构 六、IP 分流桥 模式 七、端口描述 1、PPI 接口信号 1、常规 PPI控制信号 2、发送模式 时钟通道 高速 PPI 信号 3、发送模式 时钟通道 逃逸模式PPI 信号 4、发送模式 数据通道 高速 PPI 信号 5、发送模式 数据通道 控制接口PPI 信号 6、发送模式 ...

记录所学,分享知识,结识挚友 2507

使用SpringMVC框架实现文件上传功能

一、导入依赖 <!-- 文件上传包 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version&gt...

"✧treasure mountain✧" 8047

2025年抖音面试:商业生态与安全质量运营技能要求及面试

在商业生态与安全岗的质量运营工作中,规则运营职责占据着极为重要的地位,它是保障内容风控质量的关键环节。

王国平的博客 609

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SpringMVC框架

文章目录SpringMVCMVC设计模式JSP+JavaBeanServlet+JSP+JavaBeanMVC优缺点优点缺点什么是SpringMVCSpring MVC优点第一个SpringMVC程序Spring MVC和Struts2的区别Spring MVC视图解析器(ViewResolver)URLBasedViewResolverInternalResourceViewResolverFreeMarkerViewResolverSpring MVC执行流程Spring MVC接口Spring MVC

qq_45738291的博客 4577

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringMVC框架 |文件下载与文件上传

文章目录一、SpringMVC支持文件下载二、SpringMVC支持文件上传1.导入文件上传的两个jar包2.index.jsp前端页面3.配置文件上传解析器4.文件上传请求处理三、多文件上传 一、SpringMVC支持文件下载 假设要下载项目中的jQuery-3.4.1.js文件。 @RequestMapping("/download") public ResponseEntity<...

匿名攻城狮 4703

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SpringMVC框架的实现文件上传

使用SpringMVC框架实现文件上传,以及如何跨服务器实现文件上传功能。

AtlantisChina 364

SpringMVC框架的文件上传

SpringMVC框架的文件上传与下载 SpringMVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过SpringMVC框架在原有文件上做了进一步的封装,简化了文件上传代码的实现,取消了不同上传组件上的编程差异。 commons是Apache开源代码组织中的一个Java子项目,该项目包括文件该项目包括文件的上传、命令行处理、数据库连接池、XML配置文件处理等模块,fileupload就是用来处理基于表单的文件上传的子项目 ...

nuist_NJUPT的博客 415

SpringMvc框架(文件上传方式)

目录,更新ing,学习Java的点滴记录   目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录 SpringMvc知识 第一篇---->SpringMvc初识|MVC|三层架构 第二篇---->IoC容器上下文和映射请求上下文 第三篇---->熟悉基本开发流程 第四篇---->接收各类请求参数的方式 第五篇---->获取请求中的Request,Session,Cookie等对象属性 第六篇---->拦截器开发 第七篇---->视图和

qq_41649001的博客 853
下一篇: Oracle数据库迁移到MySQL
TimeQuantum
博客等级 码龄9年 6粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值