通过简单上传 API,可以在一个 API 调用中提供新文件的内容或更新现有文件的内容。
此方法仅支持最大大小为 4 MB 的文件。
若要上传大文件,请参阅
通过上传会话上传大文件
。
调用此 API 需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅
权限
。
权限(从最低特权到最高特权)
PUT /drives/{drive-id}/items/{item-id}/content
PUT /groups/{group-id}/drive/items/{item-id}/content
PUT /me/drive/items/{item-id}/content
PUT /sites/{site-id}/drive/items/{item-id}/content
PUT /users/{user-id}/drive/items/{item-id}/content
HTTP 请求(上传新文件)
PUT /drives/{drive-id}/items/{parent-id}:/{filename}:/content
PUT /groups/{group-id}/drive/items/{parent-id}:/{filename}:/content
PUT /me/drive/items/{parent-id}:/{filename}:/content
PUT /sites/{site-id}/drive/items/{parent-id}:/{filename}:/content
PUT /users/{user-id}/drive/items/{parent-id}:/{filename}:/content
请求正文的内容应该是要上载文件的二进制流。
如果成功,此方法将在新创建或更新的文件的响应正文中返回 driveItem 对象。
示例(上传新文件)
此示例将字符串“文件的内容转到此处”上传到名为 FileB.txt 的 FolderA 下的已登录用户驱动器中的文件。
PUT /me/drive/root:/FolderA/FileB.txt:/content
Content-Type: text/plain
The contents of the file goes here.
如果成功,此方法将在响应正文中返回新建文件的 driveItem 资源。
HTTP/1.1 201 Created
Content-Type: application/json
"id": "0123456789abc",
"name": "FileB.txt",
"size": 35,
"file": { }
示例(更新现有文件)
此示例将文件的内容替换为已知 ID。
JavaScript
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
byte[] stream = Base64.getDecoder().decode("The contents of the file goes here.");
graphClient.me().drive().items("{item-id}")
.buildRequest()
.put(stream);
const stream = The contents of the file goes here.;
await client.api('/me/drive/items/{item-id}/content')
.put(stream);