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

