npm 包 elegant-file 使用教程

阅读时长 4 分钟读完

在前端开发中,文件上传和处理是不可避免的需求。npm 包 elegant-file 就是一款能够帮助我们更方便地进行文件上传和处理的工具。它既支持上传单个文件,也支持上传多个文件,并且能够处理常见的文件格式。

安装 elegant-file

安装 elegant-file 只需要在终端输入以下命令:

使用 elegant-file

初始化

在使用 elegant-file 之前,我们需要先对其进行初始化。在需要使用 elegant-file 的页面中引入该库,并进行初始化:

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

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

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

这里我们设置了一个上传按钮(id 为 upload-btn),然后进行了初始化并传入了两个参数:

  • el:指定上传按钮的 DOM 元素
  • action:指定上传文件的路径

单个文件上传

在初始化之后,我们就可以进行单个文件的上传了。实现方式非常简单:

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

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

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

这里我们监听了 successerror 两个事件。在上传成功后,后端返回的数据将会在 success 事件中接收到;在上传失败后,错误信息将会在 error 事件中接收到。

多个文件上传

如果需要上传多个文件,只需要稍作修改即可:

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

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

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

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

这里我们多传了一个参数 multiple: true,表示可以上传多个文件。在上传成功后,我们同样可以在 success 事件中接收到每一个文件的返回值。

支持的文件格式

elegant-file 支持的文件格式非常多,以下是部分常见的文件类型:

如果需要限制文件类型,可以使用 accept 参数,示例如下:

表示只能上传图片类型的文件。

已上传文件列表

如果需要显示已上传的文件列表,可以禁用默认的自动上传并手动控制:

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

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

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

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

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

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

这里我们禁用了默认的自动上传,并手动控制了上传。在选择文件后,我们将其存入一个数组中。在点击上传按钮时,将该数组作为参数传入 uploader.upload() 中即可。

总结

elegant-file 是一个非常强大、便捷的文件上传和处理工具包。它在多个方面都支持定制,能够帮助我们轻松地完成前端文件上传的工作。我们只需要简单地按照上述方法进行初始化即可快速上手使用。

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

纠错
反馈