浏览器下一代的Javascript文件上传库:uppy.js

开发 前端
Web浏览器的下一个开源文件上传库,Uppy是一款时尚的模块化JavaScript文件上传器,可与任何应用程序无缝集成。它快速,易于使用,让你专注于比构建文件上传器更重要的问题。这款文件上传库在Github上已经突破20k+star,可见其受欢迎程度以及开发者对其认可度!

介绍

Web浏览器的下一个开源文件上传库,Uppy是一款时尚的模块化JavaScript文件上传器,可与任何应用程序无缝集成。它快速,易于使用,让你专注于比构建文件上传器更重要的问题。这款文件上传库在Github上已经突破20k+star,可见其受欢迎程度以及开发者对其认可度!下面是Github上一个简单的示例截图:

浏览器下一代的Javascript文件上传库——uppy.js

Github地址

https://github.com/transloadit/uppy

示例代码

  1. npm install @uppy/core @uppy/dashboard @uppy/instagram @uppy/tus 
  1. import Uppy from '@uppy/core' 
  2. import Dashboard from '@uppy/dashboard' 
  3. import Instagram from '@uppy/instagram' 
  4. import Tus from '@uppy/tus' 
  5. Uppy() 
  6.  .use(Dashboard, { 
  7.  trigger'#select-files'
  8.  showProgressDetails: true 
  9.  }) 
  10.  .use(Instagram, { 
  11.  target: Dashboard, 
  12.  companionUrl: '' 
  13.  }) 
  14.  .use(Tus, { endpoint: '' }) 
  15.  .on('complete', (result) => { 
  16.  console.log('Upload result:', result) 
  17.  }) 
  1. const Uppy = require('@uppy/core'
  2. const Dashboard = require('@uppy/dashboard'
  3. const GoogleDrive = require('@uppy/google-drive'
  4. const Instagram = require('@uppy/instagram'
  5. const Webcam = require('@uppy/webcam'
  6. const Tus = require('@uppy/tus'
  7. const uppy = Uppy({ autoProceed: false }) 
  8.  .use(Dashboard, { trigger'#select-files' }) 
  9.  .use(GoogleDrive, { target: Dashboard, companionUrl: '' }) 
  10.  .use(Instagram, { target: Dashboard, companionUrl: '' }) 
  11.  .use(Webcam, { target: Dashboard }) 
  12.  .use(Tus, { endpoint: '' }) 
  13.  .on('complete', (result) => { 
  14.  console.log('Upload result:', result) 
  15.  }) 

相关特性

  • 轻量级,基于模块化插件的架构,易于依赖
  • 通过开放的tus标准上传可恢复文件,因此大型上传可以避免网络不稳定
  • 支持从以下网站挑选文件:Webcam,Dropbox,Google Drive,Instagram,尽可能绕过用户的设备,通过@ uppy / companion直接在服务器之间进行同步
  • 适用于文件编码和处理后端(如Transloadit)非常适用,没有(只需配合自己的Apache / Nginx / Node / FFmpeg / etc后端服务端)
  • 流畅的用户界面
  • 使用Golden Retriever进行可选文件恢复(浏览器崩溃后)
  • 国际化支持(i18n)
  • 内置可访问性
  • 永久免费

相关文档

作者提供了其非常详细的文档,但是不提供中文文档,不过无需担心,借助浏览器端的翻译功能,还是难不倒大家的,或者借助第三方的翻译插件,或者QQ浏览器也很不错,比如像下面这样非常方便,阅读自己想要阅读的部分,笔者日常就是如此:

浏览器下一代的Javascript文件上传库——uppy.js

其它介绍

只需使用Uppy客户端模块,就可以进行拖放,网络摄像头,基本文件操作(添加元数据),通过tus-resumable上传或XHR / Multipart上传。而且还提供与React的集成,使用react的小伙伴无需再自己封装,Uppy提供React组件UI插件。

浏览器下一代的Javascript文件上传库——uppy.js

其文档不仅仅非常详细,而且还提供了在线完整demo进行体验

浏览器下一代的Javascript文件上传库——uppy.js

总结

总体来说,uppy是一个非常不错的文件上传组件,提供丰富的功能,特别是提供拖拽的方式以及调用摄像头方式上传,非常的人性化,是一个非常值得尝试使用的JavaScript库,为我们带来了很大的便利性,当然好用的插件有不少,比如WebUploader,还有在之前笔者也曾介绍过另一个插件DropzoneJS,也非常不错,支持拖拽上传,感兴趣的小伙伴也可以去看一看!

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2013-07-27 21:28:44

2016-01-28 16:36:19

2013-06-27 11:21:17

2011-03-23 09:18:52

LAMPnode.js

2020-06-02 08:05:28

智能电表蜂窝物联网NB-IoT

2024-02-26 14:46:53

移动计算人工智能5G

2018-09-11 08:00:00

DevOpsAIOps机器学习

2018-09-27 18:47:45

AIOpsDevOps

2020-09-27 17:27:58

边缘计算云计算技术

2020-09-16 10:28:54

边缘计算云计算数据中心

2009-05-25 08:49:22

搜索引擎浏览器

2013-09-09 16:28:36

2009-11-20 08:47:07

路由器技术

2013-11-22 10:28:51

智能设备智能路由器小米

2018-06-06 09:54:00

javascriptnode.jstypescript

2016-01-26 11:58:12

2013-04-25 13:21:30

2022-06-17 14:48:38

物联网住房危机数据

2012-06-15 09:21:03

Windows 7Windows XP

2024-02-07 09:00:00

点赞
收藏

51CTO技术栈公众号