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

相关推荐
豆瓣鸡18 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖19 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One98519 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室21 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen1 天前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜1 天前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫1 天前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
caishenzhibiao1 天前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬1 天前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛1 天前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流