マルチパートデータの操作

次の例では、マルチパートペイロードを反復処理し、各パートからデータを抽出します。

この例では、以下の関数を使用します。

  • read​ (スクリプトのヘッダー) は、境界を ​34b21​ に設定する ​multi​ 変数からマルチパートコンテンツを読み取ります。

  • mapObject​ は ​read​ によって返されたマルチパートデータのパートを反復処理し、JSON オブジェクト内の各パートのインデックスと ​name​ キーを返します。

DataWeave スクリプト:
%dw 2.0
output application/json
var multi = '--34b21
Content-Disposition: form-data; name="text"
Content-Type: text/plain

Book
--34b21
Content-Disposition: form-data; name="file1"; filename="a.json"
Content-Type: application/json

{
  "title": "Java 8 in Action",
  "author": "Mario Fusco",
  "year": 2014
}
--34b21
Content-Disposition: form-data; name="file2"; filename="a.html"
Content-Type: text/html

<!DOCTYPE html>
<title>
  Available for download!
</title>
--34b21--'
var parsed = read(multi, "multipart/form-data", {boundary:'34b21'})
---
parsed.parts mapObject ((value, key, index) -> {(index): key})
出力:
{
  "0": "text",
  "1": "file1",
  "2": "file2"
}

他の例については、​Multipart (dw::module::Multipart)​ で参照されている​「マルチパート形式 (フォームデータ)」​の例と関数を参照してください。