環境に標準で付属するAPIを用いたzipファイル展開・圧縮方法を確認します。
公式ドキュメントが見つからなかったので、Action インターフェースと説明を元に、動作確認した結果を以下にまとめます。
サンプル
Forgeコンポーネント:https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=7086
Zip Screenを参照してください。
環境
Personal Environment(Version 11.0.606.0)
Service Studio(Version 11.6.17)
Zip Extension(For version 11.0.606.0)
以下の通り、Manage Dependenciesダイアログで、Zip Extension要素への参照を追加しておきます。
組み込みのExtensionなのでインストールは不要。
zipファイルの作成(圧縮)
処理手順
- CreateZipでメモリ上にzipファイルを用意する(このCreateZipのOutput Parameter ZipHandleを、後続処理のInput Parameterに指定します)
- メモリ上にファイルを用意し、1ファイルずつAddFileにBinaryを渡していく
- メモリ上でZipファイルの変更(ファイルの追加)を確定する(CommitChanges)
- メモリ上のZipファイルから、Binary Dataを取り出す(GetZipBinary)
実装例(Excelファイルを2つ追加したZipファイルを作成する例)
AddFileのParameter設定の例
ZipHandle:CreateZipのOutput Parameter
FileName:追加するファイルのファイル名(例:"Products1.xlsx")
DateTime:追加するファイルの作成日(例:CurrDateTime())
FileContent:追加するファイルの実体(Binary Data型)
zipファイルの展開
処理手順
- LoadZipでZipファイルのバイナリ(Binary Data型。Upload Widgetなどから取得する)を読み込む
- GetFilesでFile StructureのListとしてデータを取り出す