文件上传
前端:
首先需要在form表单中设置method=POST,enctype=multipart/form-data 。是文件上传的form的格式。
input标签type为file。用于浏览,选择文件。
后端:
解析http请求报文,获取文件内容
新建目标文件的可写流,写入目标文件
文件下载
后端:
设置响应头'Content-Disposition': 'attachment;filename=xxx',其中attachment告诉浏览器是需要下载的附件,filename用于设置下载时的文件名
创建目标文件的可读流,记为readstream
通过管道将可读流写入响应,即 readstream.pipe(res),因为res对于服务端本就是一个可写流
前端:
Dom创建一个iframe,其iframe.style.display = 'none';iframe.src = 'xxx'(后台api)
然后将该iframe添加到body中
设置该iframe的onload事件,处理函数为从body中移除