npm 包 evaporate 使用教程

简介

evaporate 是一个 JavaScript 库,用于将大文件上传到 Amazon S3。它支持分片上传和断点续传等功能。同时,它还可以在浏览器中进行加密处理,确保数据的安全性。

本文将为您详细介绍如何使用 evaporate 进行大文件上传并实现断点续传功能。

准备工作

在开始之前,您需要先安装 Node.js 和 npm。接下来,我们需要在项目中安装 evaporate。打开命令行工具,输入以下命令:

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

上传文件

首先,我们需要创建一个 HTML 页面,包含一个文件选择框和一个上传按钮。当用户点击上传按钮时,我们将使用 evaporate 来将选定的文件上传到 Amazon S3 中。

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

在上述代码中,我们首先使用 document.getElementById('file').files[0] 获取用户选择的文件。接着,我们创建了一个 evaporate 实例,并通过 evaporate.add() 方法将文件添加到上传队列中。在此过程中,我们还可以指定一些回调函数来处理上传进度、上传完成和错误等事件。

断点续传

当用户上传大文件时,可能会遇到网络中断或浏览器崩溃等情况。为了避免这种情况导致上传失败,我们需要实现断点续传功能。

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

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

在上述代码中,我们首先尝试从本地存储中获取之前上传的进度信息。如果找到了上传 ID,我们就可以使用 evaporate.resume() 方法恢复上传过程。否则,我们将文件添加到上传队列中,并在回调函数中处理上传完成和错误等事件。

需要注意的是,当上传过程被中断时,evaporate 会通过错误回调函数返回一个 Resume 错误码以及上传 ID。我们可以通过将上传 ID 存储到本地来实现恢复上传的功能。

配置项

最后,让我们来看一下 evaporate 可以配置的

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