SpringMVC--08文件上传与下载

zabbix6.0.4拓扑图链路显示流量 1. 背景介绍 网络流量监控是网络管理员必备功课,以前研究cacti的weathermap插件,网络流量大小和拥塞情况一清二楚,随着cacti的没落,weathermap插件也不能再继续使用,此时就需要学习了解新的替代方案。 经过研究和实际测试,发现zabbix的拓扑图有这个功能。 以下验证了zabbix的拓扑图显示线路流量的功能。 2. Zabbix 6显示拓扑图流量过程 选择监测-拓扑图 点进Local ne... 阅读详情

文件上传与下载

本质上文件的上传与下载都是在对io流进行操作

文件上传

web.xml

<multipart-config>
    <!-- 设置单个支持最大文件的大小 -->
    <max-file-size>1024</max-file-size>
    <!-- 设置整个表单所有文件上传的最大值 -->
    <max-request-size>10240</max-request-size>
    <!-- 设置最小上传文件大小 -->
    <file-size-threshold>0</file-size-threshold>
</multipart-config>
@PostMapping("fileup")
public String fileup(@RequestParam("fileName") MultipartFile multipartFile){
    // MultipartFile是springmvc专门为文件上传创建的类,这个类可以看作是传送的文件

    // 获取文件名称
    String originalFilename=multipartFile.getOriginalFilename();
    // 对该文件的操作同javase中对文件的操作

    // 输入流
    InputStream in = multipartFile.getInputStream();
    // 封装成带缓存的输入流
    BufferedInputStream bis = new BufferedInputStream(in);

    //输出流
    ServletContext application = request.getServletContext();
    String realPath = application.getRealPath("/upload");
    File file = new File(realPath)
    if(!file.exists()){
        file.mkdirs();
    }
    // 这里可能会出现上传同名文件出现的覆盖问题,可以用UUID代替文件名
    // File destFile = new File(file.getAbsolutePath()+"/"+originalFilename);
    File destFile = new File(file.getAbsolutePath()+"/"+UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf(".")));
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));

    // 边读边写
    byte[] bytes = new byte[1024*10];
    int readCount = 0;
    while((readCount = bis.read(bytes)) != -1){
        bos.write(bytes,0,readCount);
    }

    bos.flush();
    bos.close();
    bis.close();
    
    return "success"

}
<!-- enctype用于设置请求头内容默认是application/x-www-form-urlencoded -->
<form th:action="@{/fileup}" method="post" enctype="multipart/form-data">
    文件:<input type="file" name="fileName" />
    <input type="submit" value="上传" />
</form>

文件下载

@GetMapping("/download")
public ResponseEntity<byte[]> downloadFile(HttpServletResponse response,HttpServletRequest request) throws IOException {
    File file = new File(request.getServletContext().getRealPath("/upload") + "/1.jpeg");
    // 创建响应头对象
    HttpHeaders headers = new HttpHeaders();
    // 设置响应内容
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    // 设置下载文件的名字
    headers.setContentDispositionFormData("attachment", file.getName());

    // 下载文件
    ResponseEntity<byte[]> entity = new ResponseEntity<byte[]>(Files.readAllBytes(file.toPath()),headers,HttpStatus.OK);

    return entity;
}
<a th:hreaf="@{/download}">文件下载</a>
ROS教程(四):RVIZ使用教程(详细图文) 前言 根据前面的教程已经学会了创建功能包,那么本篇文章主要内容则是通过节点来发布数据至RVIZ 阅读详情

相关推荐

OMNET++ INET框架学习教程(一)

在自组网学习的道路上摸石头过河,帮你快速入门OIMNET++平台下的INET框架。

NLDwangzhe的博客 6561

SpringMVC Day 08 : 文件上传下载

本次案例只是简单的文件上传和下载,都是上传在本地,那可不可以上传到远程的服务器上呢?也是可以的,后面会出一个案例讲解怎么上传文件到远程服务器 minion 上。

zhiqiuqiu2的博客 852

Palantir解密:“本体”的建模逻辑及其扩展方向

上一篇重点从对现实世界建模的角度探讨了“本体”在数字化架构中的核心意义。这里借Palantir的“本体”概念、解析Palantir只是起点,目标旨在以他山之石攻玉——探索数字世界的底层架构逻辑,最终为构建自主体系提供思考。Palantir以“本体论”为核心的建模方案是否代表终极答案,不宜过早下结论,但其思路值得深入剖析。

SZSDQJC的博客 2632

狂神说SpringMVC08:拦截器+文件上传下载

狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习。未经作者授权,禁止转载这是SpringMVC视频同步的最后一章:拦截器...

狂神说 9573

C#实现串口通讯程序

1、自动获取本地串口。2、根据传入串口基本属性参数打开串口。3、串口数据的发送接收功能(ASCII和HEX格式)。4、ASCII和HEX相互转换。csharp体验AI代码助手代码解读复制代码[Category("UserProperty")] [Description("轮廓半径")] public int Radius { get => radius;

2401_89221445的博客 1765

【屠龙之术】SAP 欧洲公司 高级合规性报表 FEC

所谓FEC ,其实是法国税务局要求法国的公司,每年要向税务局进行提交的税务报告,这个报告有特殊的格式,进行加密,法国公司要在收到税务局通知以后,及时进行报送,如果不报送,或者报送不合格文件,将面临5000欧的罚款。-----------------------------------------------进入正文----------------------------------------------------------------------有专门的T-code,PPT我就不贴了,我直接截图。

竹大的博客 1959

SpringMVC08-拦截器+文件上传下载

SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用。

xzh202206的博客 1028

技术指南| 叶绿体基因组高级分析全流程解析

本文详细解析了叶绿体基因组高级分析的全流程,包括实验设计、序列组装与注释、比较基因组分析、选择压力与功能进化等关键步骤。通过实战案例和技术技巧,帮助研究者掌握叶绿体基因组分析的核心方法,提升植物进化研究和系统学分析的效率与准确性。

weixin_33725239的博客 491

SpringMVC08:拦截器+文件上传下载

概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 过滤器与拦截器的区别:拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截 拦截器 拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用 拦截器只会拦截访问的控制器方法, 如果访问的是js

学习日常分享 290

在摩尔线程 MTT S80 上使用 Ollama 进行 DeepSeek R1 蒸馏版模型推理

本文主要介绍了如何在摩尔线程 MTT S80 上通过 Ollama 快速完成DeepSeek R1 蒸馏系列模型的推理。

摩尔线程blog中心 3596

西工大noj100题python2024第一季1-10

【代码】西工大noj100题python2024第一季1-10。

weixin_70523540的博客 1796

SpringMVC-part08拦截器+文件上传下载

8、拦截器+文件上传下载 这是SpringMVC视频同步的最后一章:拦截器以及文件的上传和下载实现! 拦截器 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 **过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截 拦截器 拦截器是

qq_56594964的博客 166

Windows 上安装 OpenCode 完全指南:从零到成功,人人能看懂!

跟着这篇教程,你应该已经成功在 Windows 上安装并运行了 OpenCode。步骤操作要点1安装 Chocolatey必须以管理员身份运行 PowerShell2安装 OpenCode3验证安装关闭并重新打开终端,输入4进入项目目录必须是 Git 仓库(git init5配置模型输入/connect,输入 API Key6开始使用输入问题测试最后的小建议如果没有 API Key,可以从 DeepSeek 或 Kimi 开始,有免费额度初次使用建议先在简单项目上测试。

专注于编程、AI、人工智能等多个领域内容研究和分析 3887

# 狂神说SpringMVC08:拦截器+文件上传下载

概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。**过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SprnigMVC框架的过程才能使用拦截器只会拦截访问的控制器方法,果访问的是jsp/html

qq_44840451的博客 225

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Java学习笔记08 ── SpringMVC(处理静态资源、处理JSON、文件上传和文件下载、拦截器)

目录处理静态资源处理JSON文件上传和文件下载文件上传文件下载拦截器 处理静态资源 处理JSON 文件上传和文件下载 文件上传 文件下载 拦截器 今天的内容到此结束,谢谢大家的观看,如有错误请指正,谢谢!优快云记录成长! ...

qq_41835640的博客 257

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

archpr说文件不是rar文件_狂神说SpringMVC08:拦截器+文件上传下载

狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习。未经作者授权,禁止转载这是SpringMVC视频同步的最后一章:拦截器以及文件的上传和下载实现!拦截器概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦...

weixin_39573981的博客 345

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SpringMVC之文件上传下载

在SpringMVC中,文件上传功能可以通过使用解析器来实现。这个解析器需要在Spring配置文件中进行配置。在表单中添加一个标签,并设置对应的表单属性和控制器方法参数。在控制器方法中,使用对象来接收上传的文件。可以通过该对象获取文件名、大小、内容等信息。处理上传的文件,可以将文件保存到本地磁盘或者存储到数据库中,具体操作根据业务需求来决定。在SpringMVC中,文件下载可以通过在控制器方法中设置响应头和输出流来实现。在控制器方法中,设置响应头为attachment;,其中。

djssubddbj的博客 803

SpringMVC08——文件的上传下载

用SpringMVC实现文件的上传下载,首先创建一个web工程,添加jar包 1.文件上传 spring-servlet.xml配置文件 <!-- 开启扫描 --> <context:component-scan base-package="com.sxt.controller"></context:component-scan> <!-- 开启...

weixin_44868863的博客 834

【SpringMVC】SpringMVC实现文件上传和下载

SpringMVC实现文件上传和下载

qq_62555748的博客 1316

SpringMvc--文件上传下载

Spring MVC是一个基于Java的MVC(Model-View-Controller)框架,用于构建Web应用程序。文件上传下载是指在Web应用中将文件从客户端上传到服务器或从服务器下载到客户端的过程。在Spring MVC中,文件上传下载可以通过以下几个步骤完成:在表单中设置enctype为"multipart/form-data",以支持文件上传。使用MultipartFile接口作为Controller方法的参数,用于接收上传的文件。

2201_75455485的博客 877

SpringMVC08:拦截器+文件下载

java文件上传和下载

weixin_44740328的博客 1080

SpringMvc文件上传和下载

SpringMvc文件上传和下载 开发工具与关键技术:Visual Studio 2015 作者:昨夜星辰 撰写时间:2021年01 月 08日 一、 在SprignMVC进行文件的上传和下载需要添加相关的jar包,把相关的jar包拷贝到lib目录下进行配置,如图所示把相关的jar包添加lib文件中。 二.、在SpringMVC配置文件spring-mvc.xml添加或者修改文件上传的相关配置,配置bean文件 设置相关的参数值,如下图所示。 三、编写文件上传的控制器的相关代码 首先给主方法配...

weixin_44538151的博客 186

终极篇章_springMVC_文件上传和下载

springMVC 文件上传和下载

qq_51550750的博客 655
上一篇: SpringMVC--07HttpMessageConverter
下一篇: SpringMVC--09异常处理器与拦截器
sisyphoslee
博客等级 码龄7年 942粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值