狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

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

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

  • 官網[2]

1、Uppy.js 是什么?

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

特性

  • 模塊化:采用模塊化的架構設計,根據項目需求選擇合適的功能插件,保持代碼的簡潔性。

  • 斷點續傳:基于 tus 標準實現了斷點續傳功能,保證在網絡不穩定的情況下提升大文件傳輸的可靠性。

  • 多來源文件:除本地文件,還支持從遠程 URL 獲取文件。可實現繞過用戶設備,直接服務器間同步文件。

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

2、快速開始

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

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

然后在項目中引入 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'

創建 Uppy 對象和引入 Dashboard并添加配置

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

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

// 監聽 complete 事件,該事件在所有文件上傳后觸發。
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 的核心是插件的協調器;通過它構建自己的 UI 或者進行 Dashboard 集成。

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

  • @uppy/drag-drop:插件呈現一個用于文件選擇的拖放區域。

  • @uppy/webcam:插件可讓您使用桌面和移動設備上的內置攝像頭拍照和錄制視頻。

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

  • @uppy/url:插件允許用戶從互聯網導入文件。粘貼任何 URL,它將被添加!

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

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

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

  • @uppy/progress-bar: 上傳進度時自動填充的最小進度條

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

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

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

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

  • @uppy/image-editor 當您希望允許用戶裁剪、旋轉、縮放和翻轉添加到 Uppy 的圖像時。

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

3、和其他庫對比

Uppy.js 和 Filepond.js 對比都是現代的、功能豐富的 JavaScript 文件上傳庫,它們各有特色和適用場景。Uppy.js 強調模塊化和高度的可定制性,適合需要高度個性化的復雜項目。而 Filepond 則側重于易用性和響應式設計,更適合追求快速集成的項目。

4、總結

日常開發,可以通過 Uppy.js 的插件系統來擴展 Uppy 的功能,可以根據需要選擇合適的插件來增強文件上傳體驗。如果想創建自己的插件,可以參考Uppy.js的插件開發指南。總的來說,Uppy.js 是一個功能強大、易于使用的文件上傳組件,可以幫助你輕松處理復雜的文件上傳需求。

祝好!


更多內容請關注:猿鎮,一個分享有趣前端知識的公眾號。

往期回顧

引用鏈接

[1] Github Star: 28.7k: https://github.com/transloadit/uppy
[2] 官網: https://uppy.io/


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