> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST (/json/users/batch/scids/{scid}/data/{pathAndFileName},json)

> POST (/json/users/batch/scids/{scid}/data/{pathAndFileName},json)

# POST (/json/users/batch/scids/{scid}/data/{pathAndFileName},json)

下载多个用户中具有相同文件名的多个文件。要下载的文件由请求的 URI 决定。请求正文包含要下载其文件的用户的 XUID 列表。响应正文将是一条 multi-part MIME 消息，每部分表示特定用户的文件，具有其自己的一组头。响应的各部分可能是成功和失败的混合。
这些 URI 的域为 `titlestorage.xboxlive.com`。

* [URI 参数](#ID4EX)
* [授权](#ID4ECB)
* [请求正文](#ID4EPB)
* [HTTP 状态代码](#ID4E3C)
* [必需的响应头](#ID4EPAAC)
* [可选响应头](#ID4ESBAC)
* [响应正文](#ID4E3CAC)

## URI 参数

| 参数 | 类型 | 说明 |
| - | - | - |
| scid | guid | 要查找的服务配置的 ID。 |
| pathAndFileName | string | 要访问项的路径和文件名。路径部分（直到并包括最终的正斜杠）的有效字符包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (*) 和正斜杠 (/)。路径部分可以为空。文件名部分（最终正斜杠之后的所有内容）的有效字符包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (*)、句点 (.) 和连字符 (-)。文件名不能为空、以句点结尾或包含两个连续的句点。 |

## 授权

请求必须包含有效的 XBOX LIVE 授权头。如果不允许调用方访问此资源，则服务将返回 403 Forbidden 响应。如果头无效或缺失，则服务将返回 401 Unauthorized 响应。

## 请求正文

\| 属性| 类型| 说明|
\| --- | --- | --- | --- | --- | --- |
\| xuids| 无符号 64 位整数数组| 要下载文件的 XUID 列表。|

### 示例请求

```cpp theme={null}
{
    "xuids" : 
    [
      12345,
      45678,
      78901
    ]
}
      
```

## HTTP 状态代码

服务将返回本节中的其中一个状态代码，以响应针对此资源使用此方法发出的请求。有关 XBOX Live 服务使用的标准 HTTP 状态代码的完整列表，请参阅 [标准 HTTP 状态代码](https://devdocs.xbox.com/zh-CN/reference/live/rest/additional/httpstatuscodes)。

\| 代码| 原因短语| 说明|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| 200| OK | 请求成功。|
\| 201| Created | 已创建实体。|
\| 400| Bad Request | 服务无法理解格式错误的请求。通常是参数无效。|
\| 401| Unauthorized | 请求需要用户身份验证。|
\| 403| Forbidden | 不允许用户或服务发出此请求。|
\| 404| Not Found | 未找到指定的资源。|
\| 406| Not Acceptable | 资源版本不受支持。|
\| 408| Request Timeout | 请求耗时过长无法完成。|
\| 500| Internal Server Error | 服务器遇到意外情况，无法完成请求。|
\| 503| Service Unavailable | 请求已被限流，请在客户端重试值（以秒为单位，例如 5 秒后）之后重试请求。|

## 必需的响应头

\| 头| 说明|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| Content-Disposition| 描述部件的内容。头中的 “name” 和 “filename” 部分是此文件所属用户的 XUID。|
\| HttpStatusCode| 与检索此特定文件相关的 HTTP 状态代码。|

## 可选响应头

\| 头| 说明|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| ETag| ETag 是 Web 服务器为在某 URL 找到的资源的特定版本分配的不透明标识符。如果该 URL 处的资源内容发生更改，则会分配一个新的且不同的 ETag。|
\| Content-Type| 如果成功检索到文件，则这是文件的 Content-Type。|
\| Content-Range| 如果成功检索到文件且是部分下载，则这是响应中包含的文件的字节范围。 |

## 响应正文

如果调用成功，服务将以 multi-part 响应返回所请求文件的内容。

### 示例响应

```cpp theme={null}
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: multipart/form-data; boundary=c0a9fd75-d036-4294-8b7b-85fea15a31bb

228
--c0a9fd75-d036-4294-8b7b-85fea15a31bb
Content-Disposition: binary; name="123"; filename="123"
HttpStatusCode: 200
ETag: 0x8CF327717411C31
Content-Type: application/octet-stream

asdf123
--c0a9fd75-d036-4294-8b7b-85fea15a31bb
Content-Disposition: binary; name="456"; filename="456"
HttpStatusCode: 200
ETag: 0x8CF32771E954BB8
Content-Type: application/octet-stream

asdf456
--c0a9fd75-d036-4294-8b7b-85fea15a31bb
Content-Disposition: binary; name="789"; filename="789"
HttpStatusCode: 404


--c0a9fd75-d036-4294-8b7b-85fea15a31bb--

0

```

## 另请参阅

##### 上级

[/json/users/batch/scids/{scid}/data/{pathAndFileName},json](https://devdocs.xbox.com/zh-CN/reference/live/rest/uri/storage/uri-jsonusersbatchscidssciddatapathandfilenametype)


## Related topics

- [XblTitleStorageBlobMetadata](https://devdocs.xbox.com/reference/live/xsapi-c/title_storage_c/structs/xbltitlestorageblobmetadata.md)
- [XGameSaveFiles API overview](https://devdocs.xbox.com/build/core-features/common/game-save/xgamesavefiles.md)
- [XblTitleStorageDownloadBlobAsync](https://devdocs.xbox.com/es/reference/live/xsapi-c/title_storage_c/functions/xbltitlestoragedownloadblobasync.md)
