用户登录

在服务端提供上传文件的功能,可以借助一个叫 multer 的包提供的功能。先给项目安装一下这个包,在终端,新建一个终端标签,然后进入到项目所在目录的下面。

执行 npm install ,安装 multer 指定一个具体的版本,安装一下。等会儿我们会用它创建一个上传文件的功能。 完成以后可以再安装一下这个包的类型定义,npm install @types/multer 再指定一个具体的版本,把这个包保存在项目的开发依赖里。

回到项目,打开 file.middleware ,在文件的顶部先导入刚才安装的 multer ,它来自 multer 。 然后可以去创建一个 Multer。

添加一个 fileUpload ,执行一下 multer 这个函数,给它一个对象参数配置一下要创建的这个 Multer,里面可以设置一下 dest ,它的值就是上传文件的存储位置。可以设置成 uploads/,这样使用这个 Multer 上传的文件都会保存在 uploads 这个目录的下面。

下面再去创建一个文件拦截器,它是一个中间件,起个名字可以叫 fileInterceptor ,这个中间件可以使用上面创建的这个 Multer ,就是 fileUpload ,用一下它上面的 signle 这个方法,然后设置一下上传文件的时候表单字段的名字,可以设置成 file。

这样这个 fileInterceptor 可以处理单个文件的上传,在客户端那里上传文件的时候,表单字段的名字要设置成 file。再去定义一个上传文件用的接口,在接口上使用这个 fileInterceptor 中间件,接口就可以提供文件上传的功能了。

上传的文件不需要做源代码管理,所以可以在源代码管理里忽略掉这些文件,在 .gitignore 文件里,添加一个 /uploads,忽略掉 uploads 目录里的所有文件。

定义上传文件的功能《 Node.js 服务端应用开发:上传文件 》

统计

12400
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点