ファイル

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

file(​{| name: String, path: String, mime?: String, fileName?: String |}​)

ソースファイルから ​MultipartPart​ データ構造を作成します。

このバージョンの ​file​ 関数は、パラメーター名をキーとして使用するオブジェクトの配列として引数を受け入れます。例:

Multipart::file({ name: "myFile", path: "myClients.json", mime: "application/json", fileName: "partMyClients.json"})

パラメーター

名前 説明

opts

以下を指定するオブジェクトの配列。

  • name​ (必須): パートの ​Content-Disposition​ ヘッダーの一意の名前。

  • path​ (必須): Mule アプリケーションの ​src/main/resources​ プロジェクトパスを基準とする相対パス。

  • mime​ (文字列の場合は省略可能): パート内のコンテンツに適用する MIME タイプ (例: application/json​)。この設定を使用して入力の MIME タイプを変換することは​できません​。

  • fileName​ (省略可能): パートの ​Content-Disposition​ ヘッダー内の ​filename​ パラメーターの値。指定されていない場合、デフォルトの文字列 ​"filename"​ に設定されます。この値は入力ファイル名に一致する必要はありません。

次の例では、ファイルのコンテンツを ​MultipartPart​ から ​Multipart​ データ構造に挿入します。​form​ 関数を使用して ​Multipart​ を作成し、​file​ を使用して外部ファイル ​myClients.json​ の JSON コンテンツを含む ​myClient​ という名前のパートを作成します。また、​filename​ パラメーターの値として ​partMyClients.json​ を指定します。

ソース

%dw 2.0
import dw::module::Multipart
output multipart/form-data
var myClients = "myClients.json"
var myArgs = { name: "myFile", path: "myClients.json", mime: "application/json", * fileName: "partMyClients.json"}
---
Multipart::form([
  Multipart::file(myArgs)
])

入力

次のコンテンツを含む、​src/main/resources​ に配置されている ​myClients.json​ という名前のファイル。

clients: {
  client: {
    id: 1,
     name: "Mariano"
   },
   client: {
     id: 2,
     name: "Shoki"
  }
}

出力

------=_Part_1586_1887987980.1542569342438
Content-Type: application/json
Content-Disposition: form-data; name="myFile"; filename="partMyClients.json"

{
   clients: {
     client: {
       id: 1,
       name: "Mariano"
     },
     client: {
       id: 2,
       name: "Shoki"
     }
   }
}
------=_Part_1586_1887987980.1542569342438--

file(String, String, String, String)

ソースファイルから ​MultipartPart​ データ構造を作成します。

このバージョンの ​file​ 関数は、次のようにカンマ区切りリストで引数を受け入れます。

Multipart::field("myFile", myClients, 'application/json', "partMyClients.json")

パラメーター

名前 説明

opts

以下を指定するオブジェクトの配列。

  • name​ (必須): パートの ​Content-Disposition​ ヘッダーの一意の名前。

  • path​ (必須): Mule アプリケーションの ​src/main/resources​ プロジェクトパスを基準とする相対パス。

  • mime​ (文字列の場合は省略可能): パート内のコンテンツに適用する MIME タイプ (例: application/json​)。この設定を使用して入力の MIME タイプを変換することは​できません​。

  • fileName​ (省略可能): パートの ​Content-Disposition​ ヘッダー内の ​filename​ パラメーターの値。指定されていない場合、デフォルトの文字列 ​"filename"​ に設定されます。この値は入力ファイル名に一致する必要はありません。

次の例では、ファイルのコンテンツを ​MultipartPart​ から ​Multipart​ データ構造に挿入します。​form​ 関数を使用して ​Multipart​ 型を作成し、​file​ を使用して外部ファイル ​myClients.json​ の JSON コンテンツを含む ​myClient​ という名前のパートを作成します。また、​filename​ パラメーターの値として ​partMyClients.json​ を指定します。

ソース

%dw 2.0
import dw::module::Multipart
var myClients = "myClients.json"
output multipart/form-data
---
Multipart::form([
 Multipart::file("myFile", myClients, 'application/json', "partMyClients.json")
])

入力

次のコンテンツを含む、​src/main/resources​ に配置されている ​myClients.json​ という名前のファイル。

clients: {
    client: {
      id: 1,
      name: "Mariano"
    },
    client: {
      id: 2,
      name: "Shoki"
    }
  }

出力

------=_Part_1586_1887987980.1542569342438
Content-Type: application/json
Content-Disposition: form-data; name="myFile"; filename="partMyClients.json"

{
   clients: {
     client: {
       id: 1,
       name: "Mariano"
     },
     client: {
       id: 2,
       name: "Shoki"
     }
   }
}
------=_Part_1586_1887987980.1542569342438--