跳到主要內容

前端:@blocklet/uploader

@blocklet/uploader 套件提供了一個功能強大且高度可自訂的 React 元件,用於處理 Blocklet 生態系統中的檔案上傳。它建構於 Uppy 之上,這是一個時尚、模組化的開源檔案上傳工具,確保了強大且使用者友善的體驗。

此套件設計為可在任何 React 應用程式中作為獨立元件無縫運作。然而,當與 Media Kit blocklet 結合使用時,其全部潛力將被釋放,後者提供了集中式檔案管理、AI 圖片生成等進階功能以及預先配置的設定。

架構概覽

Uploader 元件作為 Uppy 實例的協調器。它將 Uppy 的核心邏輯與一套標準外掛程式(如 Webcam 和 URL 匯入)以及為 Blocklet 環境量身訂製的自訂外掛程式(如 AI Image 和 Resources)相結合。這種模組化架構帶來了極大的靈活性和豐富的功能。

核心概念

該套件提供了兩種整合上傳工具的主要方式:

  1. 直接元件:

    <Uploader /> 元件可以直接在您的應用程式中渲染。它可以設定為內嵌顯示或作為模態對話方塊顯示。

  2. Provider 模式:

    對於更複雜的使用情境,<UploaderProvider /><UploaderTrigger /> 元件允許您從應用程式的任何部分(例如按鈕點擊)以程式化方式打開上傳工具。

基本用法

這是一個將 Uploader 渲染為彈出式模態視窗的最小範例。使用 ref 來存取其 openclose 方法。

Basic Uploader Example

javascript
import { useRef } from 'react';
import Uploader from '@blocklet/uploader';
import Button from '@mui/material/Button';

export default function MyComponent() {
  const uploaderRef = useRef(null);

  const handleOpen = () => {
    uploaderRef.current?.open();
  };

  return (
    <div>
      <Button onClick={handleOpen}>Open Uploader</Button>
      <Uploader ref={uploaderRef} popup={true} />
    </div>
  );
}

這個簡單的設定將渲染一個按鈕,點擊後會打開功能齊全的 Uploader 模態視窗。

API 參考深入探討

要充分利用 @blocklet/uploader 的功能,請探索其元件、掛鉤和實用工具的詳細 API 文件。

透過理解這些建構區塊,您可以量身訂做上傳工具,使其完美符合您應用程式的需求。為了獲得完整的檔案上傳解決方案,請記得也要根據 @blocklet/uploader-server 文件中的說明來設定對應的後端服務。