npm 包 @modern-uploader/core 使用教程

介绍

@modern-uploader/core 是一个基于 Web Workers 的现代化上传库。它通过将上传逻辑从主线程中分离出来,使得上传操作可以在后台运行,提高了上传效率,同时也减少了上传操作对前端 UI 渲染和用户交互的影响。

本文将详细讲解如何使用该 npm 包,包括库的安装、使用以及参数说明等。

安装

可以通过 npm 进行安装:

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

使用

首先在代码中导入核心类 Uploader,并调用其构造函数创建 Uploader 对象。构造函数需要传入一个 url 字符串,该字符串指定了服务器端用于处理上传请求的接口。

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

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

接下来,我们可以通过调用 Uploader 实例的 add 方法来添加文件:

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

其中 file 是一个 File 对象,表示要上传的文件。

Uploader 实例会返回一个 Promise,它将在上传完成后 resolve,或在上传过程中发生错误时 reject。我们可以用 async/await 调用 add 方法,以便捕获 Promise 的 resolve 或 reject 状态:

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

参数说明

下面介绍一些常用的 Uploader 对象方法以及参数:

设置配置

Uploader 构造函数可以传入一个 options 对象,用于设置 Uploader 实例的配置。常用的配置项包括:

  • chunkSize:指定每个文件分片的大小,默认为 5MB。
  • concurrency:指定上传任务的并发数,默认为 3。
  • retry:指定上传失败时的最大重试次数,默认为 3。
  • timeout:指定上传超时时间,默认为 0。设置为非 0 值时,上传操作超时后将中止上传并抛出 timeout 错误。
----- -------- - --- ------------------- -
  ---------- -- - ---- - -----
  ------------ --
  ------ --
  -------- -- - ----
---

添加文件

Uploader 实例的 add 方法用于添加文件。该方法接受一个 File 对象作为参数。当文件添加成功后,该方法将返回一个 Promise,该 Promise 将在上传成功后 resolve,或在上传过程中出现错误时 reject。

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

移除文件

Uploader 实例的 remove 方法可以用于移除文件。该方法接受一个 File 对象作为参数。如果要移除多个文件,可以多次调用该方法。

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

显示上传进度

Uploader 实例可以监听 progress 事件,以更新上传进度。该事件将在上传每个分片时触发,Event 对象中包含 loadedtotal 两个属性,分别表示已上传的字节数和总字节数。我们可以将这些信息用于显示上传进度条等界面元素。

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

取消上传

我们可以使用 Uploader 实例的 cancel 方法取消正在进行的上传操作。该方法不接受参数。

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

事件

Uploader 实例支持一些事件,用于监听上传过程的状态变化。这些事件包括:

  • start:上传开始时触发。
  • chunk:start:上传每个分片时触发。
  • chunk:success:上传每个分片成功时触发。
  • retry:上传失败后重试前触发。
  • retry:success:上传失败后重试成功时触发。
  • success:上传成功时触发。
  • error:上传过程中发生错误时触发,该事件的 Event 对象包含一个 error 属性,表示具体的错误信息。
  • cancel:上传被取消时触发。

以上事件都可以通过 Uploader 实例的 on 方法注册回调函数。回调函数的参数为 Event 对象。例如:

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

示例代码

下面是一个完整的示例代码:

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

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

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

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

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

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

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

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

在本示例中,我们创建了一个 Uploader 实例并监听了一些事件。在 HTML 中,我们提供了两种上传文件的方法:文件选择框和 drag-and-drop。每当用户选择或拖拽一个或多个文件,我们就调用 Uploader 实例的 add 方法开始上传。同时,我们还实现了一个上传进度条,用于显示上传进度。示例代码可以在浏览器中直接运行。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bcc967216659e244795


猜你喜欢

  • npm 包 @nodert-win10/windows.system.threading 使用教程

    前言 在前端开发中,我们通常会使用各种 npm 包来帮助我们解决各种问题。其中,@nodert-win10/windows.system.threading 包是一个十分有用的 npm 包,可用于在 ...

    4 年前
  • npm 包 @nodert-win10/windows.system.threading.core 使用教程

    前言 在 Web 前端领域,我们经常需要使用到一些与系统相关的操作,例如创建多线程等。但是,由于 JavaScript 语言的特性,这样的操作在前端领域很难实现。不过,有了 npm 包 @nodert...

    4 年前
  • npm 包 @nodert-win10/windows.system.userprofile 使用教程

    在 Windows 应用程序开发中,我们经常需要使用用户配置文件。在 Node.js 应用程序中,我们可以使用 npm 包 @nodert-win10/windows.system.userprofi...

    4 年前
  • npm 包 @nodert-win10/windows.ui 使用教程

    简介 在前端开发中,我们通常使用 npm 包来引入已开发好的模块,减少重复造轮子的时间和精力。而 @nodert-win10/windows.ui 这个 npm 包则是用于前端开发中,用来创建 Win...

    4 年前
  • npm包 @nodert-win10/windows.ui.applicationsettings 使用教程

    简介 在前端开发中,经常会遇到要在Windows系统上开发应用程序的情况。而在Windows系统中,有一个名为Windows.UI.ApplicationSettings的应用程序设置功能,可用于快速...

    4 年前
  • npm 包 @nodert-win10/windows.system.power 使用教程

    介绍 @nodert-win10/windows.system.power 是一个 Node.js 模块,提供了在 Windows 系统上获取电源状态和管理电源操作的功能。

    4 年前
  • npm包 @nodert-win10/windows.system.power.diagnostics 使用教程

    简介 @nodert-win10/windows.system.power.diagnostics 是一个Windows系统电源诊断工具的 npm 包。它使开发者能够轻松获取Windows电源管理相关...

    4 年前
  • npm 包 @nodert-win10/windows.system.profile 使用教程

    在前端开发中,我们常常需要获取系统信息,例如操作系统版本、系统语言、硬件设备等信息,以便于优化和定制我们的应用程序。而使用 npm 包 @nodert-win10/windows.system.pro...

    4 年前
  • npm 包 @nodert-win10/windows.system.profile.systemmanufacturers 使用教程

    前言 在前端开发中,我们常常需要获取系统信息来进行相应的逻辑处理。而在 Windows 系统下,很多系统信息需要通过系统 API 来获取。在这方面,npm 包 @nodert-win10/window...

    4 年前
  • npm 包 @nodert-win10/windows.ui.core.animationmetrics 使用教程

    在前端开发中,动画效果很重要,可以提升用户体验。@nodert-win10/windows.ui.core.animationmetrics 是一个 Windows 平台的动画度量工具,可以用于测量广...

    4 年前
  • npm 包 @nodert-win10/windows.ui.core 使用教程

    本文将介绍 npm 包 @nodert-win10/windows.ui.core 的使用教程。该包提供了 Windows UI 核心功能的相关 API,可以方便地在前端应用中调用 Windows 操...

    4 年前
  • npm 包 @nodert-win10/windows.ui.input 使用教程

    前言 随着前端技术的不断发展,越来越多的跨平台应用被创建,其中 Windows 平台是最大的一部分。而 @nodert-win10/windows.ui.input 即为一款方便 Windows 平台...

    4 年前
  • npm 包 @nodert-win10/windows.ui.input.inking.core 使用教程

    随着 web 技术的不断发展,前端技术领域也越来越庞大。其中,npm 包是前端开发中必不可少的工具之一。本文将介绍一款 npm 包 @nodert-win10/windows.ui.input.ink...

    4 年前
  • npm 包 @npalenchar/giftwrap 使用教程

    介绍 @npalenchar/giftwrap 是一个能够将普通的 JavaScript 对象转化为可迭代的、可观察的对象的 npm 包。它基于 RxJS 实现,可以让你更方便地处理对象的属性,同时也...

    4 年前
  • npm 包 @nphyx/esdox 使用教程

    简介 @nphyx/esdox 是一个基于 ESDoc 的命令行工具,用于生成简洁美观的 API 文档。它支持 JavaScript 和 TypeScript,并可根据您提供的配置文件进行自定义。

    4 年前
  • npm 包 sound.min.js 使用教程

    在前端开发中,经常需要添加音频效果来提升用户体验。而 sound.min.js 就是一款非常方便易用的 npm 包,它可以帮助我们轻松控制音频的播放和停止,实现多种音效效果。

    4 年前
  • npm 包 horror.min.js 使用教程

    前言 在前端开发中,我们需要使用许多第三方库来增加代码的可复用性和降低开发成本。而通过 npm 包管理器进行包的安装和引用也成为了前端开发的常规操作之一。 在 js 的 npm 包中,horror.m...

    4 年前
  • npm 包 pickfiles 使用教程

    npm 包 pickfiles 是一个常用的前端工具,它可以帮助我们在前端项目中进行文件选择和文件上传的操作。在本文中,我们将详细介绍 pickfiles 的使用教程,并提供相关代码示例,帮助读者更好...

    4 年前
  • npm 包 source.min.js 使用教程

    在前端开发中,经常会用到大量的 JavaScript 库和框架。NPM 是目前最流行的包管理器之一,为我们提供了便捷地获取 JavaScript 库和框架的方式。source.min.js 是其中一款...

    4 年前
  • npm 包 start.min.js 使用教程

    在前端开发过程中,我们经常需要使用一些小工具来进行辅助工作,如打包、压缩等等。这时候,npm 包 start.min.js 就是一款强大的工具,它可以帮助我们轻松完成这些任务。

    4 年前

相关推荐

    暂无文章