前端
文件上传的底层还是form表单。在当前前后端分离的情况下,前端原生表单的写法已经很少见了。通常使用ajax请求的方式,以axios为例。通常使用post请求,将所需要传递的值封装在FormData表单对象中(文件信息一般存储在input框中的files属性中,拿到即可), 然后请求头一般使用 multipart/form-data 格式 。发送给后端。
后端
以express框架为例,要想解析 multipart/form-data传过来的值,我们就得借用中间件 ----multer。这个中间件将会解析前端传过来的值,通常会生成 一个file或files对象放置在请求头中,通过这个对象拿到解析的那个文件的一些信息,再放到数据库当中。解析的文件一般放在静态资源文件夹当中,存放在数据库的一般都是一个相对地址。
文章虽短,方法通用!