介绍
在构建 web 应用程序时,经常需要将文件上传到服务器。parse-server-fs-store-adapter 是一种可用于存储和检索 parse-server 文件的 npm 包。它提供了一个简单的接口,使您可以将文件接收到本地文件系统。
parse-server-fs-store-adapter 的功能
- 使用简单
- 本地文件系统存储
- 多种选项配置
- 兼容 parse-server
安装
首先,您需要安装 parse-server-fs-store-adapter 包:
npm install --save parse-server-fs-store-adapter
配置
为了使用 parse-server-fs-store-adapter 包,您需要修改 parse-server 配置选项。在 parse-server 配置中,您需要指定 fsAdapter:
-- -------------------- ---- ------- ----- -- - -------------- ----- ---- - ---------------- ----- - ----------------- - - ----------------------------------------- ----- --- - --- ------------- ------------ -------------------------------- ------ ---------- ---------- -------------- ---------- ------------------------------ ------------- --- ------------------- ------------------ ------------------------------------------- -- --------------------- ------------- - ----------- ---------- -- ------------------------ ----------- ---------- -- ------------------------ ----------- ---------- -- ------------------------------- ---------------- -------- --------- -- ------------------------- ----------------- ------------------------- ---------- - --- ---
在这个例子中,我们使用文件系统适配器提供的 FileSystemAdapter
,使用 filesSubDirectory
参数指定用于存放上传的文件的子目录(默认路径为 ./parse-server-files
),同时使用内置的文件适配器 filesAdapter
,并在创建文件时使用 fs.createWriteStream()
方法。
使用
上传文件
接下来,我们将说明如何使用 multer 中间件和 parse-server-fs-store-adapter 连接上传的文件。
首先,您需要引入 multer 和 parse-server-fs-store-adapter 包:
const multer = require('multer'); const { FileSystemStoreAdapter } = require('parse-server-fs-store-adapter');
接着,在您的路由处理程序中配置 multer 中间件:
-- -------------------- ---- ------- ----- ------- - ----------------------- ----- ------ - -------- ------- --- ------------------- ---------------------- ----- ---- -- - ----- ---- - --------- ----- --------- - --- ------------------------ ------------------ --------------------- --- --------------------------------------- ------------ -------- -- - ---------- -------- ---- --- -- ------------ -- - --------------------- ---------------------- ------ ------------- --- --- ---
在这个例子中,我们使用 multer.memoryStorage()
方法创建了内存存储,使用 multer({ storage })
创建 multer 中间件,并在路由处理程序中配置了该中间件。upload.single('file')
表示只上传单个文件,其中 file
参数表示上传字段的名称。在用户上传文件后,我们使用 FileSystemStoreAdapter
实例来将文件存储在文件系统中。
获取文件
您可以使用以下代码从文件系统中检索文件:
-- -------------------- ---- ------- ----- --------- - --- ------------------------ ------------------ --------------------- --- --------------------------------------- ---------- -- - ----------------------------- --------------- -- ------------ -- - --------------------- ---------------------- ------ ------------- --- ---
在这个例子中,我们使用 FileSystemStoreAdapter
实例来获取文件,并使用 res.contentType()
和 res.send()
方法将文件发送到客户端。
示例代码
以下是完整的示例代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ------------------ ----- -- - -------------- ----- ---- - ---------------- ----- - ----------- - - ------------------------ ----- - ------------------ ---------------------- - - ----------------------------------------- ----- --- - ---------- ----- --- - --- ------------- ------------ -------------------------------- ------ ---------- ---------- -------------- ---------- ------------------------------ ------------- --- ------------------- ------------------ ------------------------------------------- -- --------------------- ------------- - ----------- ---------- -- ------------------------ ----------- ---------- -- ------------------------ ----------- ---------- -- ------------------------------- ---------------- -------- --------- -- ------------------------- ----------------- ------------------------- ---------- - --- --- ----- ------- - ----------------------- ----- ------ - -------- ------- --- ------------------- ---------------------- ----- ---- -- - ----- ---- - --------- ----- --------- - --- ------------------------ ------------------ --------------------- --- --------------------------------------- ------------ -------- -- - ---------- -------- ---- --- -- ------------ -- - --------------------- ---------------------- ------ ------------- --- --- --- -------------------------- ----- ---- -- - ----- -------- - -------------------- ----- --------- - --- ------------------------ ------------------ --------------------- --- ------------------------------- ---------- -- - ----------------------------- --------------- -- ------------ -- - --------------------- ---------------------- ------ ------------- --- --- --- ----------------- ----- ---------------- -- -- ------------------- -- -- --- -----------
总结
parse-server-fs-store-adapter 包使文件上传和检索变得非常简单,同时提供了多种配置选项以及兼容 parse-server。希望通过这篇文章,您对于使用 parse-server-fs-store-adapter 进行文件存储的方式有了更深入的了解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f8f238a385564ab6f5d