Hapi.js 实现七牛上传图片与删除图片

阅读时长 8 分钟读完

前言

作为前端开发人员,经常会涉及到图片上传和删除的操作。本文将介绍如何使用 Hapi.js 框架实现七牛上传图片与删除图片的操作。七牛云存储是一个安全、稳定、高效的云存储平台,它提供了完整的 API 接口,方便开发人员进行文件的管理和操作。

准备工作

在开始实现七牛上传图片与删除图片之前,我们需要准备以下工作:

  1. 注册七牛云存储账号并创建一个存储空间,并获取 AccessKey 和 SecretKey。
  2. 安装 Hapi.js 框架。
  3. 安装七牛 Node.js SDK。

实现七牛上传图片

创建 Hapi.js 服务

首先,我们需要创建一个 Hapi.js 服务。在创建服务之前,需要先安装 Hapi.js 框架:

然后,创建一个 index.js 文件,并编写以下代码:

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

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

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

--------

以上代码创建了一个 Hapi.js 服务,并添加了一个路由,当访问根路径时,返回 "Hello, world!"。

配置七牛云存储

在开始上传图片之前,我们需要配置七牛云存储。在 index.js 文件中添加以下代码:

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

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

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

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

以上代码配置了七牛云存储,并使用 Hapi.js 的装饰器模式将相关对象添加到 request 对象中,方便后续操作。

实现上传图片的路由

现在,我们可以实现上传图片的路由。在 index.js 文件中添加以下代码:

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

以上代码实现了一个 POST 请求的路由,接收一个名为 file 的文件参数,并将文件上传到七牛云存储中。

实现七牛删除图片

实现删除图片的路由

现在,我们可以实现删除图片的路由。在 index.js 文件中添加以下代码:

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

以上代码实现了一个 DELETE 请求的路由,删除指定 key 的图片。

示例代码

完整的示例代码可以在以下链接中找到:

https://github.com/hellohjc/hapi-qiniu-example

总结

本文介绍了如何使用 Hapi.js 框架实现七牛上传图片与删除图片的操作。通过本文的学习,读者可以了解到如何使用 Hapi.js 框架和七牛 Node.js SDK,以及如何使用 Hapi.js 的装饰器模式将相关对象添加到 request 对象中,方便后续操作。本文的示例代码可以帮助读者更好地理解本文的内容。

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

纠错
反馈