メインコンテンツへスキップ

フロントエンド: @blocklet/uploader

@blocklet/uploader パッケージは、Blockletエコシステム内でファイルアップロードを処理するための、強力で高度にカスタマイズ可能なReactコンポーネントを提供します。洗練されたモジュール式のオープンソースファイルアップローダーである Uppy をベースに構築されており、堅牢でユーザーフレンドリーな体験を保証します。

このパッケージは、どのReactアプリケーションでもスタンドアロンコンポーネントとしてシームレスに動作するように設計されています。しかし、その真価は、Media Kit blocklet と組み合わせて使用することで発揮されます。Media Kit blockletは、一元的なファイル管理、AI画像生成などの高度な機能、および事前設定された設定を提供します。

アーキテクチャ概要

Uploaderコンポーネントは、Uppyインスタンスのオーケストレーターとして機能します。Uppyのコアロジックと、一連の標準プラグイン(WebcamやURLインポートなど)およびBlocklet環境に合わせたカスタムプラグイン(AI画像やリソースなど)を組み合わせています。このモジュラーアーキテクチャにより、高い柔軟性と豊富な機能が実現されます。

コアコンセプト

このパッケージは、アップローダーを統合するための2つの主要な方法を公開しています:

  1. 直接コンポーネント:

    <Uploader /> コンポーネントは、アプリケーションに直接レンダリングできます。インラインまたはモーダルダイアログとして表示するように設定できます。

  2. プロバイダーパターン:

    より複雑なユースケースでは、<UploaderProvider /><UploaderTrigger /> コンポーネントを使用すると、ボタンクリックなど、アプリケーションの任意の部分からプログラムでアップローダーを開くことができます。

基本的な使用法

以下は、Uploaderをポップアップモーダルとしてレンダリングする最小限の例です。refを使用して、そのopenおよびcloseメソッドにアクセスします。

基本的なUploaderの例

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}>Uploaderを開く</Button>
      <Uploader ref={uploaderRef} popup={true} />
    </div>
  );
}

この簡単なセットアップで、クリックすると全機能のUploaderモーダルが開くボタンがレンダリングされます。

APIリファレンスの詳細

@blocklet/uploader の能力を最大限に活用するには、そのコンポーネント、フック、およびユーティリティに関する詳細なAPIドキュメントを参照してください。

これらの構成要素を理解することで、アプリケーションのニーズに完全に合うようにアップローダーを調整できます。完全なファイルアップロードソリューションを実現するには、@blocklet/uploader-server のドキュメントで説明されているように、対応するバックエンドサービスも設定することを忘れないでください。