SpringMVC基于注解使用:上传&下载

01-文件下载

基于servlet api的文件下载

注意一点content-disposition是以文件下载的方式打开意思是客户端地址栏不会改变,

如果注销了那句话就会跳转到下载图片的图片里面去,就在网页中显示了

基于spring ResponseEntity的文件下载 不支持缓冲区

一次性读取所有数据的方法

Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即

用的 MultipartResolver 实现的,Spring 用 Jakarta Commons FileUpload 技
术实现了一个 MultipartResolver 实现类:CommonsMultipartResovler

首先在pom.xml文件中导入依赖

在spring-mvc.xml文件中写入上传解析器

单文件上传的方法

在index.jsp中的配置,用multipart/form-data才能支持文件上传在表单里

在客户端的展示

多文件上次的方法,在表单里加入multiple就行,accept为设置传输的类型是什么如下图限制了传输类型只能是image但是只限制了在前端,在客户端传输的时候也还是可以传输别的内容的

用多线程来传输数据,上图都是串行传递的而多线程是并行传递的,并行的传输速度比串行快,

在代码里声明个线程用Lambda表达式(匿名函数对象)的方法,创建完后,thread.start()

启动线程,thread.join()让子线程执行完再执行主线程

上传后在客户端显示图片的方法,@RequsstParam()起别名,model是为了把上传的文件名传入到域里面

相关推荐
二哈赛车手4 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~5 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8295 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁7 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记7 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI7 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding9 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路9 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇9 小时前
linux 检索库 判断库是否支持
java·linux·服务器