「添付ファイル」のセル型を使用すると、Forguncyのアプリケーションから1つずつ指定してPDFやExcelなどのファイルをテーブルにアップロードできます。ここでは1つずつではなく、一括でフォルダ内の複数のファイルをテーブルの添付ファイル項目にアップロードする方法を説明します。
これによって、例えば、紙媒体をPDF化した複数のファイル(数万件)があった場合でも、一括でアップロードでき、Forguncyのアプリケーションから参照できるようにデータベースへ登録できます。
Forguncyの仕組みについて
添付ファイルを一括でアップロードするには、コマンドを組み合わせて、任意のフォルダ内のファイルをデータベースへ一括保存するアプリケーションを開発する必要があります。そのために、Forguncyの仕組みを説明します。
ForguncyからPDFなどのファイルをアップロードし、Forguncyのテーブル定義が「添付ファイル」のデータ型に保存すると、テーブルのフィールドには、ファイル名の先頭にGUIDが付与された文字列が値として保存されます(文字列の末尾には複数ファイルが指定できるように「|」が付与されます)。
(例)「見積書.pdf」をアップロードした時、テーブルのフィールドに保存される値
形式:<36桁のGUID>_<添付ファイル名>.pdf|
値の例:3debc4cd-3dc7-408d-9509-7cf565c94aab_見積書.pdf|
そして、そのファイルの実体は、以下のナレッジに記載の特定フォルダに保存されます。
[V8] アップロードしたファイルはどこに保存されますか?
つまり、テーブルのフィールドに保存されたGUID付きのファイル名の文字列と実際の実体のファイル名が一致した状態で、かつ実体のファイルがForguncyの特定フォルダに保存されている必要あります。
このような状態になるように、プログラムを作成する必要があります。
開発するプログラムについて
プログラムの大きな流れとして、Forguncyのサーバーサイドコマンドを利用して特定のフォルダ内のファイルを読み込んで、繰り返しコマンド内で1件ずつテーブルに保存していく流れになります。
特定フォルダ内のファイルを読み込むには、プラグインである「ファイル操作コマンド」の「フォルダー上のファイル取得」を使用します。
そして、読み込んだファイルをテーブルに出力するには、「テーブルデータの更新(サーバーサイド)」を使用して追加していきます。この時、「添付ファイル」のデータ型に追加した場合は、自動的にGUIDが付与された値が保存されます(「画像」のデータ型の場合は、自動でGUIDが付与されないため、別途処理が必要です)。
上記の処理を実装させたサンプルプロジェクトを添付していますので参考にしてください。
添付のプロジェクトには、「添付ファイルの一括登録」ボタンがあり、そのコマンドでサーバーサードコマンドを呼び出しています。