文件 第三方的东西,本身读取文件之后,才会知道对错。
文件的读写要用到异常处理机制。
DOCS
文件要以字节流的形式进行传输。
运输字节流的数据,
缓冲区
客户端 → 数据运输 字节流 缓冲区大小分次运输→ 服务器端
Spring MVC,封装了文件的上传和下载工作
一、需求
1 .传统的文件传输反射光hi比较麻烦,
2.文件的安全与下载权限问题(这是学习文件上传下载的愿意之一)
二、Spring MVC实现文件上传与下载的基本原理
java自身是用java.io.file。 Spring MVC就是封装了 java.io.file
(没有直接的依赖关系,这之间有多次的封装)。直接依赖于Apache的FileUpload相关组件。但是apache的fileUpload组件依赖于java的File的组件。
Spring MVC是基于web的
三 开发流程
1修改Pom.xml 添加commons- fileupoad commons-io
2 修改页面文件 : "<form 标签的enctype(浏览器的编码类型)属性为”multipaer/form“
3 编写用于处理文件上传的Controller
文件的上传可能在不同的界面都需要上传,login,register,等等。要是每一个都要写一个上传的Controller,那就些许繁琐了。
这就涉及到一个问题,怎样设计URL路径?使得不同页面的文件上传由同一个FileController来处理。这就是关键问题。,如何编辑Controller 熟悉MultipartFile的API(看代码),
from标签上,去掉标签上的
文件上传最后存的是什么?存的是文件的路径,所以这是个String类型。
private String headImage;
//定义为Sting,其值应该为头像文件的存储路径。
//sring mVC的做法是怎样的呢?
private MultipartFile headImage2;
//定义为此类型,其值为该文件本身。
//业内常用的方法就是去存储他的头像文件的存储路径
首先会用Spring MVC方法上传 multipart file 再要用日常开发中用的Spring方法的上传 Spring
MVC封装了大量的读写
4、在配置文件中注册该组件。
Spring Mvc注册该组件,
首先会用Spring MVC方法上传 multipart file
再要用日常开发中用的Spring方法的上传