SpringMVC--08文件上传与下载

STM32N6570-DK ISP调试 将下载线接入STLINK V3EC接口,将BOOT1拨码拨至右边,即将其置为H,上电或已经上电的按复位,打开STM32CubeProgrammer,设置start address:0x70000000。板子消耗电流较大,即使缩短数据线接了USB供电依然不能正常点亮显示屏,最终通过板上CN2端子加了外部5V供电,仍然需要560mA的外部电流。3.烧录bin文件:STM32N6_ISP_IQTune_App_revC01-v1.1.0-trusted.bin。 阅读详情

文件上传与下载

本质上文件的上传与下载都是在对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>
车载软件架构 —— AUTOSAR Vector SIP包(三) ### 上一篇文章中介绍了AUTOSAR基础软件供应商Vector公司的开发工具链,本文将继续介绍Vector公司的AUTOSAR产品。 ### -> 1、Vector SIP包中的StartApplication ### -> 2、StartApplication如何开始使用 阅读详情

相关推荐

vit的cam和注意力图: VIT模型的可解释性

VIT的热力图怎么画

YI_SHU_JIA的博客 1万+

SpringMVC Day 08 : 文件上传下载

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

zhiqiuqiu2的博客 852

cst使用局部网格加密,手动加密,special设置等方法合理网格布局加速仿真速度

在CST中,计算复杂模型或者阵列的时候往往需要耗费大量仿真时间,除了使用更高性能的电脑或工作站进行仿真,合理对CST的仿真网格进行适当设置也是必不可少的一步。CST中网格设置影响模拟的精度和速度,因此花时间理解网格过程是很重要的。

OVEN_b612的博客 1万+

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

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

狂神说 9573

TBOX(Telematics Box)在智能网联汽车中的核心功能与应用场景解析

TBOX(Telematics Box)是智能网联汽车的“中枢神经”,基于Android或Linux操作系统,并通过CAN总线与车辆深度交互。它实现了远程控制、车辆状态监控、OTA升级及紧急呼叫(E-CALL)等核心功能,是提升用车安全、便利性与实现车辆持续进化的关键技术组件。

weixin_29158413的博客 802

基于LightGBM和多模型融合的量化交易研究:沪深300为例【附代码】

📊 数据科学与大数据专业 | 数据分析与模型构建 | 数据驱动决策✨ 专业领域:数据挖掘与清洗大数据处理与存储技术机器学习与深度学习模型数据可视化与报告生成分布式计算与云计算数据安全与隐私保护💡 擅长工具:Python/R/Matlab 数据分析与建模Hadoop/Spark 大数据处理平台SQL数据库管理与优化Tableau/Power BI 数据可视化工具TensorFlow/PyTorch 深度学习框架✅数据科学与大数据技术毕业论文【数据】

lagougongzuoshi的博客 1669

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

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

xzh202206的博客 1028

中台战略-第五章、中台建设方法论

文章目录第五章、中台建设方法论5.1 中台架构整体策略5.2 业务顶层设计5.3 业务中台设计方法论5.3.1 能力支撑是基础5.3.2 中心自治是承载形式5.3.3 3层模型是骨架5.3.4 5步法是指导思想1. 业务抽象2. 高阶设计3. 组件建模4. 开发交付5. 持续运营5.4 数据中台设计方法论5.4.1 总体规划5.4.2 数据集成5.4.3 模型建设5.4.4 通用研发5.4.5 资产管理5.4.6 数据服务5.5 应用向中台迁移的3中途径和方法5.5.1 方法1:新应用替换旧应用5.5.2

沧海之巅的专栏 1458

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

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

学习日常分享 290

Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 配置管理太麻烦?试试这个统一管理工具

还在为 Claude Code、Codex、Gemini CLI 等 AI CLI 配置烦恼?🤯 这款桌面工具支持五大助手统一管理,一键切换 50+ 服务商,MCP 和 Skills 集中管理 🛠️,跨平台支持,让你的 AI 编程更高效 ⚡

XiaoqiangClub的博客 912

【微服务】SpringBoot 整合Kafka 项目实战操作详解

SpringBoot 整合Kafka 实战操作详解

congge 5569

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

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

qq_56594964的博客 166

halcon第一讲:基本操作

本文通过Blob分析提取出图片中的硬币,来熟悉halcon的基本操作。 1、读取图像,halcon读取图像有三种方式:1)、文件-&gt;读取图像;2)、通过助手;3)、代码 *打开窗口 dev_open_window (0, 0, 512, 512, 'black', WindowHandle) *读取图像 read_image (Image,'1.png') 读取的图像如下: 2...

qq_24946843的博客 3万+

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

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

qq_44840451的博客 225

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

qq_41835640的博客 257

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

weixin_39573981的博客 345

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值