Отправка или замена содержимого элемента DriveItem
API простой отправки позволяет отправить содержимое нового файла или обновить содержимое существующего файла с помощью одного вызова API. Этот метод поддерживает файлы размером не более 4 МБ.
Сведения о том, как отправлять большие файлы, см. в разделе Отправка больших файлов с помощью сеанса отправки.
Разрешения
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения (в порядке повышения привилегий) |
---|---|
Делегированные (рабочая или учебная учетная запись) | Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | Files.ReadWrite, Files.ReadWrite.All |
Для приложений | Files.ReadWrite.All, Sites.ReadWrite.All |
HTTP-запрос (для замены существующего элемента)
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}/drives/{drive-id}/{parent-id}:/{filename}:/content
PUT /users/{user-id}/drive/items/{parent-id}:/{filename}:/content
Тело запроса
Содержимое текста запроса должно представлять собой двоичный поток файла, который необходимо отправить.
Ответ
При успешном выполнении этот метод возвращает объект driveItem для вновь созданного или обновленного файла в теле ответа.
Пример (отправка нового файла)
В этом примере строка "Содержимое файла идет здесь". передается в файл на диске вошедшего пользователя в папку FolderA с именем FileB.txt.
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": { }
}
Пример (обновление существующего файла)
В этом примере показано, как заменить содержимое файла с известным идентификатором.
PUT /me/drive/items/{item-id}/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": { }
}
Примечания
Заблокированные типы файлов
SharePoint Server 2016 блокирует отправку на сервер файлов с некоторыми расширениями.
- ASHX — файл веб-обработчика ASP.NET
- ASMX — исходный файл веб-служб ASP.NET
- JSON — файл нотации объектов JavaScript
- SOAP — файл протокола SOAP
- SVC — файл службы Windows Communication Foundation (WCF)
- XAMLX — файл службы рабочих процессов Visual Studio
Дополнительные сведения о блокируемых расширениях файлов см. в статье Типы файлов, которые невозможно добавить в список или библиотеку.
Поведение для разрешения конфликтов
По умолчанию этот API заменяет существующий элемент с тем же именем. Чтобы настроить поведение разрешения конфликтов, добавьте в запрос параметр @microsoft.graph.conflictBehavior запроса со значениями fail, replace или rename.
Ответы с ошибками
Дополнительные сведения о возвращении ошибок см. в статье Ответы с ошибками.