如何在 Deno 中使用 Amazon S3 进行文件上传和下载

阅读时长 4 分钟读完

在前端开发中,有时候需要上传或下载一些文件,如果服务器端使用 Amazon S3 的话,该如何在客户端进行操作呢?本文将介绍如何在 Deno 中使用 Amazon S3 进行文件上传和下载。

准备工作

  • Node.js 环境
  • 一个 AWS 账号,并拥有操作 S3 的权限
  • 安装 aws-sdk@aws-sdk/client-s3
  • Deno 环境

安装 aws-sdk@aws-sdk/client-s3 包:

上传文件

要上传文件到 Amazon S3,需要实例化 S3 类。可以通过以下方式完成此操作:

其中,regionaccessKeyIdsecretAccessKey 需要替换成您的实际值。

接下来,需要使用 putObject 方法进行文件上传。以下是一个示例:

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

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

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

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

在以上示例中,Bucket 表示存储桶的名称,Key 表示要上传的文件的名称或路径。Body 参数可以使用 createReadStream 函数读取文件内容。

下载文件

要下载 Amazon S3 中的文件,可以使用 getObject 方法。以下是一个示例:

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

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

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

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

在以上示例中,Bucket 表示存储桶的名称,Key 表示要下载的文件的名称或路径。可以使用 pipe 方法将 data.Body 中的文件内容流入本地文件中。

总结

本文介绍了如何在 Deno 中使用 Amazon S3 进行文件上传和下载。实际应用中,需要注意保护您的 AWS 访问凭证,并设置合适的访问权限。通过本文的示例代码,您可以了解 AWS SDK 的基本用法,为前端项目开发添加更多功能。

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

纠错
反馈