Compartilhar via


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.