---
schema_version: "1"
id: cc9777196834897b817d3b87b41070cb61b5c965ff69076f9060a4c5803f9f37
title: ファイル
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.7/dw-multipart-functions-file.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.7/dw-multipart-functions-file
source_site: docs.mulesoft.com
content_type: documentation
content_hash: a314a96a63f3e5405438091cb034f8c6213c8f270c8e5c48420e662d6f026f88
description: MuleSoft Documentation Site
release: "2.7"
latest: false
---
# ファイル

## [](#file1)file(opts: {| name: String, path: String, mime?: String, fileName?: String |})

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

このバージョンの ​`file`​ 関数では引数としてキー/値ペアを含むオブジェクトが受け入れられるため、次のようにキー/値ペアを任意の順序で入力できます。

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

### [](#パラメーター)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">名前</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>opts</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>次のキー/値ペアを指定するオブジェクト。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>name</code>​ (必須): パートの ​<code>Content-Disposition</code>​ ヘッダーの一意の名前。</p>
</li>
<li>
<p><code>path</code>​ (必須): Mule アプリケーションの ​<code>src/main/resources</code>​ プロジェクトパスを基準とする相対パス。</p>
</li>
<li>
<p><code>mime</code>​ (文字列の場合は省略可能): パート内のコンテンツに適用する MIME タイプ (例: <code>application/json</code>​)。この設定を使用して入力の MIME タイプを変換することは​<em>できません</em>​。</p>
</li>
<li>
<p><code>fileName</code>​ (省略可能): パートの ​<code>Content-Disposition</code>​ ヘッダー内の ​<code>filename</code>​ パラメーターの値。指定されていない場合、デフォルトの文字列 ​<code>"filename"</code>​ に設定されます。この値は入力ファイル名に一致する必要はありません。</p>
</li>
</ul>
</div></div></td>
</tr>
</tbody>
</table>

### [](#例)例

次の例では、DataWeave 関数でアクセスできるファイルから ​`MultipartPart`​ を作成します。ファイル名は ​`orders.xml`​ で、Mule アプリケーションの ​`/src/main/resources`​ にあります。

`file`​ 関数は外部の ​`orders.xml`​ ファイルを見つけ、キー/値ペアを使用して ​`MultipartPart`​ の作成に必要なさまざまなパラメーターを指示します。

- `name`​ は任意に指定できますが、通常はこの ​`Multipart`​ ペイロードを受け入れる受信側サーバーで必要なパラメーターに合わせます。
- `path`​ は ​`./orders.xml`​ に設定されます。これは ​`MultipartPart`​ に読み込まれる ​`orders.xml`​ ファイルのパスと名前です。
- `mime`​ パラメーターではファイルの適切な MIME タイプを指定します。この場合は ​`application/xml`​ です。
- `filename`​ は任意の値に変更できます。実際の入力ファイルのファイル名と違ってもかまいません。

この例の出力は ​`Multipart`​ 構造の一部でしかないため、​`multipart/form-data`​ 出力種別との互換性がありません。有効な ​`multipart/form-data`​ 出力を作成するには、​`Multipart::form()`​ 関数を 1 つ以上の ​`Multipart`​ ファイルや項目に使用します。

#### [](#ソース)ソース

```DataWeave
%dw 2.0
import dw::module::Multipart
output application/dw
var ordersFilePath = "./orders.xml"
---
Multipart::file{ name: "file", path: ordersFilePath, mime: "application/xml", fileName: "orders.xml" }
```

#### [](#入力)入力

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

```xml
<orders>
  <order>
    <item>
      <id>1001</id>
      <qty>1</qty>
      <price>\$100</price>
    </item>
    <item>
      <id>2001</id>
      <qty>2</qty>
      <price>\$50</price>
    </item>
  </order>
</orders>
```

#### [](#出力)出力

```json
{
headers: {
    "Content-Type": "application/xml",
    "Content-Disposition": {
      name: "file",
      filename: "orders.xml"
    }
  },
  content: "<?xml version='1.0' encoding='UTF-8'?>\n<orders>\n  <order>\n    <item>\n      <id>1001</id>\n      <qty>1</qty>\n      <price>\$100</price>\n    </item>\n    <item>\n      <id>2001</id>\n      <qty>2</qty>\n      <price>\$50</price>\n    </item>\n  </order>\n</orders>"
}
```

### [](#例-2)例

次の例では、ファイルのコンテンツを ​`MultipartPart`​ から ​`Multipart`​ に挿入して、​`multipart/form-data`​ 出力にします。この例では ​`form`​ 関数を使用して ​`Multipart`​ を作成し、​`file`​ を使用してパートを作成します。

`Multipart::form()`​ 関数は、各パートを ​`Multipart::field()`​ または ​`Multipart::file()`​ 関数を使用して作成可能な ​`Multipart`​ 項目の配列を受け入れます。

#### [](#ソース-2)ソース

```DataWeave
%dw 2.0
import dw::module::Multipart
output multipart/form-data
var ordersFilePath = "./orders.xml"
var myArgs = { name: "file", path: ordersFilePath, mime: "application/xml", fileName: "myorders.xml"}
---
Multipart::form([
  Multipart::file(myArgs)
])
```

#### [](#出力-2)出力

```json
------=_Part_5349_1228640551.1560391284935
Content-Type: application/xml
Content-Disposition: form-data; name="file"; filename="myorders.xml"
<?xml version='1.0' encoding='UTF-8'?>
<orders>
  <order>
    <item>
      <id>1001</id>
      <qty>1</qty>
      <price>$100</price>
    </item>
    <item>
      <id>2001</id>
      <qty>2</qty>
      <price>$50</price>
    </item>
  </order>
</orders>
------=_Part_5349_1228640551.1560391284935--
```

## [](#file2)file(fieldName: String, path: String, mime: String = 'application/octet-stream', sentFileName: String = 'filename')

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

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

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

### [](#パラメーター-2)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">名前</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>fieldName</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パートの ​<code>Content-Disposition</code>​ ヘッダーの一意の名前 (必須)。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>path</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Mule アプリケーションの ​<code>src/main/resources</code>​ プロジェクトパスへの相対パス (必須)。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mime</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パート内のコンテンツに適用する MIME タイプ (文字列の場合は省略可能)。例: <code>application/json</code>​。この設定を使用して入力の MIME タイプを変換することは​<em>できません</em>​。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sentFileName</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パートの ​<code>Content-Disposition</code>​ ヘッダー内の ​<code>filename</code>​ パラメーターの省略可能なファイル名の値。指定されていない場合、デフォルトで文字列 ​<code>"filename"</code>​ になります。この値は入力ファイル名に一致する必要はありません。</p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#例-3)例

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

#### [](#ソース-3)ソース

```DataWeave
%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")
])
```

#### [](#入力-2)入力

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

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

#### [](#出力-3)出力

```txt
------=_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--
```