服务的本质是交换信息和处理信息,如果我们想提供一个文件上传服务,那么该怎么做呢?方法当然有很多,你可以搭建一个专门FTP服务器,可以自定义一个文件传输协议然后再实现它,还可以使用一些别人开发的文件上传模块等等,今天我们就来做个最简单的,基于HTTP的POST协议,提供一个文件上传接口。
这里咱们只简单的介绍一下POST上传文件,后面可以考虑专门写一个介绍HTTP协议的系列。
HTTP请求的方法(method)有很多种类型,最常用的就是GET和POST,从字面意思去理解,就能知道,它们的意图一个是用来获取数据,一个用来提交数据的。但是用POST能提交的数据,肯定有很多种啊,我们怎么告诉服务器,我们要通过什么方式提交数据呢?答案是设置http请求的header中一个叫做Content-Type的字段,咱们把它设置为multipart/form-data,相当于告诉服务器,我们要用二进制数据的形式上传内容啦。
OK,接下来咱们就来实现下面的功能:
1 提供一个文件上传的HTML页面
2 文件上传的接口
一、修改springboot文件上传限制的配置
springboot默认的配置,将multipart能上传的最大文件,设置为1MB,有时我们需要修改这个配置,可以按照下面的方法(不同版本的方法不一样,我用的2.3.1版本的Springboot,希望你们也是用的2.0以后的版本):
二、提供文件上传的HTML页面 upload_file.html
如果看过上篇内容,你就知道upload_file.html这个文件,要放在templates目录下面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>UploadFile</title>
</head>