当前位置: 首页 > 科技观察

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

时间:2023-03-19 16:56:23 科技观察

介绍用于Web浏览器的下一个开源文件上传库,Uppy是一个时尚的模块化JavaScript文件上传器,可以与任何应用程序无缝集成。它快速、易于使用,让您专注于比构建文件上传器更重要的问题。这个文件上传库在Github上已经超过20k+stars,可见其人气和开发者的认可度!下面是Github上一个简单例子的截图:Github地址https://github.com/transloadit/uppy示例代码npminstall@uppy/core@uppy/dashboard@uppy/instagram@uppy/tusimportUppyfrom'@uppy/core'importDashboardfrom'@uppy/dashboard'importInstagramfrom'@uppy/instagram'importTusfrom'@uppy/tus'Uppy().use(Dashboard,{trigger:'#select-files',showProgressDetails:true}).use(Instagram,{target:仪表板,companionUrl:''}).use(Tus,{endpoint:''}).on('complete',(result)=>{console.log('Uploadresult:',result)})constUppy=require('@uppy/core')constDashboard=require('@uppy/dashboard')constGoogleDrive=require('@uppy/google-drive')constInstagram=require('@uppy/instagram')constWebcam=require('@uppy/网络摄像头')constTus=require('@uppy/tus')constuppy=Uppy({autoProceed:false}).use(Dashboard,{trigger:'#select-files'}).use(GoogleDrive,{target:Dashboard,companionUrl:''}).use(Instagram,{target:Dashboard,companionUrl:''}).use(网络摄像头,{target:Dashboard}).use(Tus,{endpoint:''}).on('complete',(result)=>{console.log('Uploadresult:',result)})相关特性是轻量级的,基于模块化的插件架构,易于依赖上传和恢复通过打开tus标准文件,因此大量上传可避免网络不稳定支持从以下位置选择文件:网络摄像头、Dropbox、GoogleDrive、Instagram,尽可能绕过用户设备,通过@uppy/companion直接在服务器之间同步文件编码和处理后端(例如Transloadit)非常适用,没有(只需与您自己的Apache/Nginx/Node/FFmpeg/等后端服务器配合)流畅的用户界面使用GoldenRetriever进行可选文件恢复(浏览器崩溃后)国际化支持(i18n)内置可访问性永久free相关文档作者提供了非常详细的文档,但是没有提供中文文档,不过不用担心,有了浏览器端的翻译功能,对大家来说还是不难的,还是有first的帮助t三方翻译插件,或者QQ浏览器也很好。例如,阅读你想阅读的部分非常方便。这就是我每天做的事情:其他介绍只能通过Uppy客户端模块拖放。相机,基本文件操作(添加元数据),通过tus-resumable或XHR/Multipart上传,还提供与React的集成,使用react的小伙伴不用自己打包,Uppy提供了React组件UI插件。它的文档不仅非常详细,还提供了完整的在线demo用于经验总结。总的来说,uppy是一个非常不错的文件上传组件,提供了丰富的功能,尤其是拖拽调用相机上传的方式,非常不错。是一个值得尝试使用的JavaScript库,给我们带来了极大的方便。当然还有很多好用的插件,比如WebUploader,之前笔者也介绍过另一个插件DropzoneJS,也很不错,支持拖拽上传,有兴趣的朋友也可以去看看!