前言
在前端开发中,文件上传和下载是非常常见的功能。而 Fastify 是一个快速、低开销且可扩展的 Node.js Web 框架,适用于构建高效的 Web 应用程序和 API。本文将介绍如何使用 Fastify 实现文件上传和下载功能。
实现文件上传
安装 Fastify 和 Multer
首先,我们需要安装 Fastify 和 Multer,Multer 是一个 Node.js 中间件,用于处理 multipart/form-data
类型的表单数据,主要用于上传文件。
npm install fastify multer
创建文件上传路由
-- -------------------- ---- ------- ----- ------- - --------------------- ----- ------ - ------------------ ----- ------ - -------- ----- ---------- --- ----------------------- - ----------- --------------------- -- ----- --------- ------ -- - ----- ---- - ------------- ------------------ ------------ -------- ----- -------- ------------- --- --- -------------------- ----- -------- -- - -- ----- - ------------------- ---------------- - ------------------- --------- -- ------------- ---
在上面的代码中,我们创建了一个 /upload
路由,该路由使用 multer
中间件处理上传的文件,并将其保存在 uploads/
目录下。
测试文件上传
使用 Postman 或类似的工具发送 POST 请求,将文件上传到 /upload
路由中。
可以看到,文件已经成功上传到 uploads/
目录下。
实现文件下载
创建文件下载路由
-- -------------------- ---- ------- ----- ------- - --------------------- ----- -- - -------------- ---------------------------------- ----- --------- ------ -- - ----- -------- - ------------------------ ----- ---- - ---------------------- --------------- ------------------ ----- -- - -- ----- - ------------------------ -------- ----- --- ------ --- ------- - ----------------------------------- ------------ ------------------------- --------------------------------------- ------------------------------------------ --- --- -------------------- ----- -------- -- - -- ----- - ------------------- ---------------- - ------------------- --------- -- ------------- ---
在上面的代码中,我们创建了一个 /download/:filename
路由,该路由接受文件名作为参数,并根据文件名从 uploads/
目录中读取文件,并将其作为附件下载。
测试文件下载
使用浏览器访问 /download/filename
路由,即可下载文件。
总结
本文介绍了如何使用 Fastify 实现文件上传和下载功能。通过本文的学习,读者可以了解到如何使用 Multer 中间件处理文件上传,并了解如何使用 Node.js 的文件系统模块读取文件和将文件作为附件下载。同时,读者也可以了解到 Fastify 的基本用法和路由处理方式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6581be55d2f5e1655dcfc3fa