HTTP API
添付フィールドとファイルテーブルのファイルアップロードはいずれも、HTTP API を通じて処理できます。添付フィールドまたはファイルテーブルで使用するストレージエンジンによって、呼び出し方法が異なります。
サーバー側アップロード
S3、OSS、COS など、プロジェクトに組み込まれているオープンソースのストレージエンジンでは、HTTP API とユーザーインターフェースのアップロード機能で同じ API を呼び出し、すべてのファイルをサーバー経由でアップロードします。API を呼び出すには、Authorization リクエストヘッダーでユーザーログインに基づく JWT トークンを渡す必要があります。渡さない場合、アクセスは拒否されます。
添付フィールド
添付テーブル(attachments)のリソースに対して create 操作を実行し、POST 形式でリクエストを送信するとともに、file フィールドでバイナリデータをアップロードします。呼び出し後、ファイルはデフォルトのストレージエンジンにアップロードされます。
異なるストレージエンジンにファイルをアップロードする場合は、attachmentField パラメーターで、対象データテーブルのフィールドに設定されているストレージエンジンを指定できます(設定されていない場合は、デフォルトのストレージエンジンにアップロードされます)。
ファイルテーブル
ファイルテーブルへのアップロードでは、ファイルレコードが自動的に生成されます。ファイルテーブルのリソースに対して create 操作を実行し、POST 形式でリクエストを送信するとともに、file フィールドでバイナリデータをアップロードします。
ファイルテーブルへのアップロードでは、ストレージエンジンを指定する必要はありません。ファイルは、そのテーブルに設定されているストレージエンジンにアップロードされます。
クライアント側ダイレクトアップロード
商用プラグイン S3-Pro が提供する S3 互換ストレージエンジンの場合、HTTP API によるアップロードはいくつかの手順に分けて実行する必要があります。
添付フィー ルド
-
ストレージエンジン情報を取得する
ストレージテーブル(
storages)に対してgetBasicInfo操作を実行し、ストレージ名(storage name)を渡して、ストレージエンジンの設定情報をリクエストします。返されるストレージエンジン設定情報の例:
-
プロバイダーの署名済み情報を取得する
fileStorageS3リソースに対してcreatePresignedUrl操作を実行し、POST 形式でリクエストを送信します。body にファイル関連情報を含めることで、署名済みアップロード情報を取得します。説明:
- name: ファイル名
- size: ファイルサイズ(bytes 単位)
- type: ファイルの MIME タイプ。次を参照してください:一般的な MIME タイプ
- storageId: ストレージエンジンの ID(手順 1 で返される
idフィールド) - storageType: ストレージエンジンのタイプ(手 順 1 で返される
typeフィールド)
リクエストデータの例:
取得される署名済み情報のデータ構造は次のとおりです。
-
ファイルをアップロードする
返された
putUrlを使用してPUTリクエストを実行し、ファイルを body としてアップロードします。説明:
- putUrl:前の手順で返された
putUrlフィールド - file_path:アップロードするローカルファイルのパス
リクエストデータの例:
- putUrl:前の手順で返された
-
ファイル行レコードを作成する
アップロードが成功したら、添付テーブル(
attachments)のリソースに対してcreate操作を実行し、POST 形式でリクエストを送信してファイルレコードを作成します。data-raw の依存データの説明:
- title: 前の手順で返された
fileInfo.titleフィールド - filename: 前の手順で返された
fileInfo.keyフィールド - extname: 前の手順で返された
fileInfo.extnameフィールド - path: デフォルトでは空
- size: 前の手順で返された
fileInfo.sizeフィールド - url: デフォルトでは空
- mimetype: 前の手順で返された
fileInfo.mimetypeフィールド - meta: 前の手順で返された
fileInfo.metaフィールド - storageId: 手順 1 で返された
idフィールド
リクエストデータの例:
- title: 前の手順で返された
ファイルテーブル
最初の 3 つの手順は添付フィールドのアップロードと同じですが、4 つ目の手順ではファイルレコードを作成する必要があります。ファイルテーブルのリソースに対して create 操作を実行し、POST 形式でリクエストを送信するとともに、body でファイル情報をアップロードします。
data-raw の依存 データの説明:
- title: 前の手順で返された
fileInfo.titleフィールド- filename: 前の手順で返された
fileInfo.keyフィールド- extname: 前の手順で返された
fileInfo.extnameフィールド- path: デフォルトでは空
- size: 前の手順で返された
fileInfo.sizeフィールド- url: デフォルトでは空
- mimetype: 前の手順で返された
fileInfo.mimetypeフィールド- meta: 前の手順で返された
fileInfo.metaフィールド- storageId: 手順 1 で返された
idフィールドリクエストデータの例:

