上传基本流程:(1,2,3拼接完整路径)
1,传过来两个参数 multipartfile和httpservletrequest
2,获取上传目录的路径(服务端)以及上传文件的文件名(客户端)
3,根据路径和文件名创建在目录下创建文件(服务端),判断文件是否存在如果不存在则创建它
4,将(客户端)上传文件写入。
下载基本流程:
1,传两个参数httpservletrequest以及httpservletresponse
2,获取要下载的文件的文件路径
3,根据文件路径创建文件对象,再根据文件对象创建文件输入流,再根据文件输入流创建输入流。
4,获取文件名称,设置为下载文件的名称(如果有中文的话,需要设置转码。请求头前面内容(response.setHeader("Content-Disposition", "attachment;filename="+downFileName);)要写对才会获取到正确的名称,否则是默认的download)
5,通过response设置文件下载头以及contentype类型,自动判断下载文件的类型(response.setContentType("multipart/form-data");)
6,创建输出流,并执行写操作
7,切记最后关闭输入流和输出流
这只是一个最简单的可以实现功能的demo。后续具体功能需求如断点续传,下载速度设置等等 有待后续继续学习。
______________________by 最咸的的咸鱼