Carregar diversas partes para o OneDrive usando POST
O método de carregamento de diversas partes permite fornecer metadados sobre um item e o conteúdo do item em uma única chamada de API. Esse método oferece suporte apenas às solicitações com até 4 MB.
Observação: o carregamento de diversas partes está disponível apenas no OneDrive Pessoal.
Para carregar arquivos grandes, consulte Carregar arquivos grandes com uma sessão de carregamento.
Permissões
Uma das permissões a seguir é necessária para chamar essa API. Para saber mais, incluindo como escolher permissões, confira Permissões.
Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
---|---|
Delegada (conta corporativa ou de estudante) | n/d |
Delegada (conta pessoal da Microsoft) | Files.ReadWrite, Files.ReadWrite.All |
Aplicativo | n/d |
Solicitação HTTP
POST /me/drive/items/{item-id}/children
POST /me/drive/root:/{item-path}/:children
Corpo da solicitação (upload de conteúdo com diversas partes + metadados)
O corpo com diversas partes define metadados para o arquivo com o conteúdo do arquivo ao mesmo tempo.
O serviço detecta esse cenário quando o cabeçalho Content-Type: multipart/related
está incluído na solicitação.
Para saber mais sobre a codificação relacionada/de diversas partes, consulte os documentos sobre o assunto em RFC 2387.
O documento carregado deve conter exatamente duas partes:
Nome | Tipo | Descrição |
---|---|---|
metadados | application/json | Os valores de metadados para usar ao criar o item. |
content | Binário | O conteúdo binário do item que está sendo criado. |
A solicitação será rejeitada se mais de duas partes forem incluídas.
Cada parte deve especificar um valor de name no cabeçalho Content-Disposition
para indicar de qual parte se trata.
As partes podem estar em qualquer ordem, mas é preferível especificar a parte de metadados primeiro.
POST /drive/items/{folder-id}/children
Content-Type: multipart/related; boundary="A100x"
--A100x
Content-ID: <metadata>
Content-Type: application/json
{
"name": "newfile.txt",
"file": {},
"@microsoft.graph.sourceUrl": "cid:content",
"@microsoft.graph.conflictBehavior": "rename"
}
--A100x
Content-ID: <content>
Content-Type: text/plain
Contents of the file to be uploaded.
--A100x--
Observação: Você pode usar um Atributo de instância nos metadados de Item para controlar o que acontecerá se você estiver carregando um arquivo que corresponda ao nome de um arquivo existente. Por padrão, o upload falhará se houver um item com o mesmo nome.
Resposta
Se for bem-sucedido, esse método retornará um recurso driveItem no corpo da resposta para o arquivo recém-criado.
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "0123456789abc",
"name": "newfile.txt",
"file": { }
}
Respostas de erro
Leia o tópico Respostas de Erro para obter mais informações sobre como os erros são retornados.
Comentários
Não há suporte para o método de upload de diversas partes no OneDrive for Business, SharePoint Online e SharePoint Server 2016.