Node.js的文件存储抽象模块是什么?

19

在 PHP 应用程序中工作时,我喜欢使用文件存储抽象层(例如Flysystem)。这使得在不同位置持久化文件变得非常容易(云存储、本地驱动器、ZIP、等等)。

目前我正在学习 Node.js,所以我想知道是否存在类似的模块?

在 NPM 上搜索相关的文件系统,但没有找到与此级别的抽象有关的内容。

3个回答

9

pkgcloud整合了多项服务(计算、存储、数据库等),并支持多家云服务提供商。其存储服务API易用且支持流式数据,因此内存利用效率高。

不幸的是,该项目已经停止维护。


这个也支持本地文件系统吗?将本地与AWS抽象出来会很好。 - lostintranslation
它不支持。但是,我已经制作了 cloudcp,它在底层使用 pkgcloud,并支持将本地文件复制到云端。 - Pier-Luc Gendreau
6
是的,它通过 filesystem-storage-pkgcloud 包支持本地文件系统。在您的代码中添加并启用它:var pkgcloud = require('pkgcloud'); pkgcloud.providers.filesystem = {}; pkgcloud.providers.filesystem.storage = require('filesystem-storage-pkgcloud'); - happy_marmoset
FYI,pkgcloud仅抽象出那些Web服务所有者通常支付并完全控制的提供商(例如AWS S3)。它不支持任何由您的用户负责的存储提供商(例如Google Drive)。 - Malvineous

7

1
不幸的是,该项目不再作为独立包进行维护。它已经集成到AdonisJS框架中。 - Alex

7

有一个名为filefog的工具,旨在支持Google Drive、Dropbox、SkyDrive和Box,以及本地文件系统。像passport一样,它使用针对每个提供程序的单独模块发布的“策略”(filefog-dropboxfilefog-onedrive等)。


看起来正是我想要的。我喜欢它使用“Promise”设计模式的事实。谢谢! - Potherca
4
我非常好奇为什么这个回答被投票踩了,但是投票者没有说明他们对这个回答有何不满... - Potherca

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接