文件上传介绍
文件上传,也称作upload,指的是将本地的图片、视频、音频等文件上传到服务器上,可以提供其他用户浏览或下载的过程,文件上传的用途非常广泛,我们经常发的微博和朋友圈都运用到了文件上传。
文件上传时,对页面的form表单有如下需求:
method="post" 采用post提交数据
enctype="multipart/form-data" 采用multipart格式上传文件
type="file" 使用input的file控件上传
例如:
<form method="post" action="/common/upload" enctype="multipart/form-data">
<input name="myFile" type="file"/>
<input type="submit" value="提交"/>
</form>
服务端接收客户端页面上传的文件,通常都会使用Apache的两大组件:
commons-fileupload
commons-io
Spring框架在spring-web包中对文件的上传进行了封装,大大简化了服务端的代码,我们只需要在Controller的方法中声明一个MutlipartFile类型的参数即可接收上传的文件。
@PostMapping
public R<String> upload(MutlipartFile file){
System.out.println(file);
return null;
}
文件下载介绍
文件下载,也称为download,是指将文件从服务器传输到本地计算机的过程。
通过浏览器进行文件下载,通常有两种表现形式:
- 以附件形式下载,弹出保存对话框,将文件保存到指定磁盘目录
- 直接在浏览器中打开
通过浏览器进行文件下载,本质上就是服务端将文件以流的形式写回浏览器的过程。
测试案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件上传