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是为了把上传的文件名传入到域里面

相关推荐
桦说编程44 分钟前
盘点并发集合里那些容易误判的行为
java·后端·性能优化
IT爱学堂2 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
lv__pf2 小时前
spring之整合mybatis【TL spring 12】
mysql·spring·mybatis
evans在进步2 小时前
LeetCode 394:字符串解码——Java 单栈模拟与嵌套解析详解
java·python·leetcode
m0_547486663 小时前
《Java程序设计与实践 》全套PPT课件2026
java·开发语言
土司大王3 小时前
LeetCode hto100——字母异位词分组
java·算法·leetcode
码匠许师傅4 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试
jason.zeng@15022074 小时前
linux的top命令
java·linux·服务器
QCodingDev4 小时前
Spring AI Alibaba ReAct Agent实战:从Tool Calling到Agent,企业AI复杂业务该如何设计?
java·人工智能·agent·ai编程·spring ai
RainCity4 小时前
Java Swing 自定义组件库分享(十六)
java·笔记·后端