LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Uppy.js,一款神奇的 JavaScript 開源文件上傳庫

admin
2024年10月12日 10:19 本文熱度 524
  • Github Star: 28.7k[1]

  • 官網(wǎng)[2]

1、Uppy.js 是什么?

Uppy.js 是一個(gè)現(xiàn)代化的、模塊化的 JavaScript 文件上傳器,它可以無縫地集成到任何應(yīng)用程序中。它具備輕量級(jí)、易于使用的特點(diǎn),并支持從本地磁盤、遠(yuǎn)程 URL、云存儲(chǔ)服務(wù)等多種途徑獲取文件,并通過相機(jī)捕獲和記錄自拍等方式上傳文件。Uppy.js 提供了豐富的功能,如漂亮的界面預(yù)覽和編輯元數(shù)據(jù),以及可選擇的文件處理和編碼后端,如 Transloadit。它還支持?jǐn)帱c(diǎn)續(xù)傳,避免了因網(wǎng)絡(luò)不穩(wěn)定而導(dǎo)致的大文件上傳失敗問題。

特性

  • 模塊化:采用模塊化的架構(gòu)設(shè)計(jì),根據(jù)項(xiàng)目需求選擇合適的功能插件,保持代碼的簡潔性。

  • 斷點(diǎn)續(xù)傳:基于 tus 標(biāo)準(zhǔn)實(shí)現(xiàn)了斷點(diǎn)續(xù)傳功能,保證在網(wǎng)絡(luò)不穩(wěn)定的情況下提升大文件傳輸?shù)目煽啃浴?/p>

  • 多來源文件:除本地文件,還支持從遠(yuǎn)程 URL 獲取文件。可實(shí)現(xiàn)繞過用戶設(shè)備,直接服務(wù)器間同步文件。

  • 預(yù)覽和編輯:良好的用戶界面,允許預(yù)覽文件并編輯元信息。

2、快速開始

在項(xiàng)目中使用 Uppy.js,首先需要通過 npm 或 yarn 安裝它:

npm install @uppy/core @uppy/dashboard @uppy/tus

然后在項(xiàng)目中引入 js 文件和 css

// main.js
import Uppy from '@uppy/core' // 核心庫
import Dashboard from '@uppy/dashboard' // 儀表盤
import zh_CN from '@uppy/locales/lib/zh_CN' // 國際化中文

// 引入樣式
import '@uppy/core/dist/style.css'
import '@uppy/dashboard/dist/style.css'

創(chuàng)建 Uppy 對象和引入 Dashboard并添加配置

const uppy = new Uppy({
  debugtrue,
  autoProceedfalse// 自動(dòng)上傳
  locale: zh_CN, // 國際化
  restrictions: {
    maxFileSize1000,
    maxNumberOfFiles10,
    allowedFileTypes: ['image/*'],
  },
})

uppy.use(Dashboard, {
  inlinetrue// 內(nèi)聯(lián)頁面
  target'#app'// 掛載的目標(biāo)元素
  theme'dark'// 主題 dark
  note'最多上傳 10 個(gè)文件,僅支持圖片' // 上傳文件的說明
})

// 監(jiān)聽 complete 事件,該事件在所有文件上傳后觸發(fā)。
uppy.on('complete', (result) => {
  if (result.failed.length === 0) {
    console.log('上傳成功 ??')
  } else {
    console.warn('上傳失敗 ??')
  }
  console.log('成功文件:', result.successful)
  console.log('失敗文件:', result.failed)
})

Uppy 常用包

  • @uppy/core : Uppy 的核心是插件的協(xié)調(diào)器;通過它構(gòu)建自己的 UI 或者進(jìn)行 Dashboard 集成。

  • @uppy/dashboard:通用 UI,帶有預(yù)覽、進(jìn)度條、元數(shù)據(jù)編輯器和所有很酷的東西。

  • @uppy/drag-drop:插件呈現(xiàn)一個(gè)用于文件選擇的拖放區(qū)域。

  • @uppy/webcam:插件可讓您使用桌面和移動(dòng)設(shè)備上的內(nèi)置攝像頭拍照和錄制視頻。

  • @uppy/screen-capture:插件可以錄制您的屏幕或應(yīng)用程序并將其保存為視頻。

  • @uppy/url:插件允許用戶從互聯(lián)網(wǎng)導(dǎo)入文件。粘貼任何 URL,它將被添加!

  • @uppy/tus:插件通過包裝 tus-js-client 為 Uppy 帶來了 Tus 的可斷點(diǎn)續(xù)傳文件上傳功能。

  • @uppy/xhr-upload:插件用于定期上傳到 HTTP 服務(wù)器。

  • @uppy/transloadit:插件可用于將文件直接上傳到 Transloadit 進(jìn)行各種處理,例如轉(zhuǎn)碼視頻、調(diào)整圖像大小、壓縮/解壓縮等等。

  • @uppy/progress-bar: 上傳進(jìn)度時(shí)自動(dòng)填充的最小進(jìn)度條

  • @uppy/status-bar:插件顯示上傳進(jìn)度和速度、預(yù)計(jì)時(shí)間、預(yù)處理和后處理信息,并允許用戶控制(暫停/恢復(fù)/取消)上傳。

  • @uppy/informer 插件是一個(gè)彈出欄,用于顯示 Dashboard 的通知。

  • @uppy/thumbnail-generator 為添加到 Uppy 的圖像生成比例縮略圖(文件預(yù)覽)。

  • @uppy/drop-target 插件允許用戶將文件拖放到頁面上的任何元素上,例如整個(gè)頁面 document.body 。

  • @uppy/image-editor 當(dāng)您希望允許用戶裁剪、旋轉(zhuǎn)、縮放和翻轉(zhuǎn)添加到 Uppy 的圖像時(shí)。

另外,Uppy 可以無縫對接到現(xiàn)有的技術(shù)棧中,例如:@uppy/vue 、@uppy/react@uppy/svelte 和 @uppy/angular

3、和其他庫對比

Uppy.js 和 Filepond.js 對比都是現(xiàn)代的、功能豐富的 JavaScript 文件上傳庫,它們各有特色和適用場景。Uppy.js 強(qiáng)調(diào)模塊化和高度的可定制性,適合需要高度個(gè)性化的復(fù)雜項(xiàng)目。而 Filepond 則側(cè)重于易用性和響應(yīng)式設(shè)計(jì),更適合追求快速集成的項(xiàng)目。

4、總結(jié)

日常開發(fā),可以通過 Uppy.js 的插件系統(tǒng)來擴(kuò)展 Uppy 的功能,可以根據(jù)需要選擇合適的插件來增強(qiáng)文件上傳體驗(yàn)。如果想創(chuàng)建自己的插件,可以參考Uppy.js的插件開發(fā)指南。總的來說,Uppy.js 是一個(gè)功能強(qiáng)大、易于使用的文件上傳組件,可以幫助你輕松處理復(fù)雜的文件上傳需求。

祝好!


更多內(nèi)容請關(guān)注:猿鎮(zhèn),一個(gè)分享有趣前端知識(shí)的公眾號(hào)。

往期回顧

引用鏈接

[1] Github Star: 28.7k: https://github.com/transloadit/uppy
[2] 官網(wǎng): https://uppy.io/


該文章在 2024/10/12 10:19:47 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩精品免费在线视频 | 日韩精品旡码一区二区三区 | 在线a亚洲看片v电影 | 色花堂国产精品第一页 | 伊人久久大香线蕉亚洲五月天色悠 | 视频思思久久免费国产 |