npm 包 multer-wasb-storage 使用教程

阅读时长 4 分钟读完

介绍

multer-wasb-storage 是一个 npm 包,它为 multer 提供了一个自定义存储引擎。multer 是 Node.js 中的一个流行的文件上传中间件。multer-wasb-storage 允许你将上传的文件存储到 Azure Blob 存储中。

在本文中,我们将使用 multer-wasb-storage,介绍它的用法并提供示例代码。

安装multer-wasb-storage

要使用 multer-wasb-storage,首先需要在项目中安装它。使用 npm 命令进行安装:

用法

使用 multer-wasb-storage,我们需要创建一个 new WasbStorage 构造函数。该构造函数接受两个参数:一个 options 对象和一个可选的 callback 函数。

options

options 对象包含以下属性:

  • accountName:你的 Azure 存储帐户名称。
  • accountKey:你的 Azure 存储帐户密钥。
  • containerName:要上传文件的 Azure Blob 存储容器的名称。
  • blobPathResolver:一个函数,用于指定要上传文件用于的 Blob 路径。默认情况下,将使用 multer 在上传表单中的字段名称作为 Blob 的名称。

callback

callback 函数用于处理存储引擎的实例。如果你不需要执行其他操作,可以将此参数留空。

下面是使用 multer-wasb-storage 的示例代码:

-- -------------------- ---- -------
----- ------ - ------------------
----- ----------- - -------------------------------

----- ----------- - --- -------------
  ------------ ------------------------------
  ----------- -----------------------------
  -------------- -----------------------
---

----- ------ - -------- -------- ----------- ---

------------------- --------------------------- ----- ---- -- -
  ---------------------
---

在上面的示例代码中,我们首先引入 multer 和 multer-wasb-storage。然后,我们使用 new WasbStorage 创建一个 multer 存储引擎的实例,并将其传递给 multer 的中间件函数。最后,我们添加一个路由来处理文件上传的操作。

可以看到,存储引擎的实例被创建后,只需将其传递给 multer 就可以使用它。multer 在收到表单请求时,会自动使用存储引擎将文件上传到 Azure Blob 存储中。

Blob 路径解析器

multer-wasb-storage 允许你指定一个函数来确定每个上传的文件应该存储到 Blob 容器的哪个路径下。这个函数被称为 Blob 路径解析器。

默认情况下,multer-wasb-storage 使用以下代码作为默认的 Blob 路径解析器:

这个默认的解析器会为每个上传的文件生成一个唯一的 Blob 名称。

有时,你可能需要为上传的文件指定不同的 Blob 路径。在这种情况下,只需传递一个自定义 Blob 路径解析器函数即可。

下面是一个使用自定义解析器的示例:

上面代码中的存储引擎使用了一个自定义的 Blob 路径解析器函数。这个函数将为每个上传的文件生成一个以 userUploads/ 开头的 Blob 名称。

结论

multer-wasb-storage 提供了一个方便的方式将文件上传到 Azure Blob 存储中。在本文中,我们讨论了如何使用这个库,并给出了示例代码和深度的指导意义,希望能帮助你更好地理解并使用这个工具。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005669881e8991b448e2d0f

纠错
反馈