npm 包 gcs-browser-upload-stream 使用教程

阅读时长 4 分钟读完

简介

gcs-browser-upload-stream 是一款基于 Google Cloud Storage 的流式上传 NPM 包,使用它可以在前端网页中将文件直接上传至 Google Cloud Storage 中,而不需要通过无效的中间步骤进行上传。

安装

通过 npm 安装就可以使用该包,运行以下命令即可:

用法

获取授权

首先需要获取 google-cloud-storage 的授权,可以使用以下两种方式:

  • 使用 ServiceWorker:如果您在使用 ServiceWorker,我们建议您使用 google-auth-library-browser 包或其他可用的身份验证浏览器包。
  • 使用 OAuth 2.0:如果您未使用 ServiceWorker,我们建议使用 google-identity-toolkit 包实现 OAuth 2.0 授权。

上传文件

在获取授权后,我们可以使用以下代码上传文件:

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

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

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

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

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

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

其中:

  • bucketName:您的谷歌云存储桶名称。
  • objectName:您要上传到对象存储桶中的对象的名称。 如果要创建一个嵌套的对象,请包括斜杠,例如“ folder1/folder2/object1”。
  • metadata:文件的元数据信息对象,metadata 中 contentType 表示文件类型。
  • file: 文件对象。

监听上传事件

您可以监听 gcsUploadStream 的事件,以获取更多的上传信息,例如当前上传进度。

示例

以下是一个完整的上传示例:

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

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

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

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

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

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

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

总结

通过 gcs-browser-upload-stream 包,可以在前端将文件直接上传至 Google Cloud Storage 中,极大地减少了上传所需的中间步骤,使用方便,建议在前端开发中使用。

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

纠错
反馈