Compartir a través de


Cargar varias partes en OneDrive con POST

El método de carga de varias partes le permite proporcionar metadatos sobre un elemento y el contenido de este en una sola llamada API. Este método solo admite solicitudes de hasta 4 MB de tamaño.

Nota: La carga de varias partes solo está disponible en OneDrive Personal.

Para cargar archivos grandes, consulte Cargar archivos de gran tamaño con una sesión de carga.

Permisos

Se requiere uno de los permisos siguientes para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) N/D
Delegado (cuenta personal de Microsoft) Files.ReadWrite, Files.ReadWrite.All
Aplicación N/D

Solicitud HTTP

POST /me/drive/items/{item-id}/children
POST /me/drive/root:/{item-path}/:children

Cuerpo de la solicitud (contenido de varias partes y carga de metadatos)

El cuerpo de varias partes establece los metadatos para el archivo junto con el contenido del archivo a la vez. El servicio detecta este escenario cuando el encabezado Content-Type: multipart/related se incluye en la solicitud.

Para obtener más información sobre la codificación relacionada o de varias partes, vea los documentos relacionados o de varias partes de RFC 2387.

El documento cargado debe contener exactamente dos partes:

Nombre Tipo Descripción
metadata application/json Los valores de metadatos que se van a usar al crear el elemento.
content binario El contenido binario del elemento que se va a crear.

La solicitud se rechazará si se incluyen más de dos partes. Cada parte debe especificar un valor name en el encabezado Content-Disposition que indica qué parte es. Las partes pueden estar en cualquier orden, pero deben especificar la parte de los metadatos primero.

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--

Nota: Puede usar un atributo Instance en los metadatos Item para controlar qué sucede si está cargando un archivo que coincida con un nombre de archivo existente. De manera predeterminada, la carga produce un error si un elemento existente tiene el mismo nombre.

Respuesta

Si se ejecuta correctamente, este método devuelve un recurso driveItem en el cuerpo de la respuesta del archivo que se ha creado.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "0123456789abc",
  "name": "newfile.txt",
  "file": { }
}

Respuestas de error

Lea el tema Respuestas de error para obtener más información sobre la manera en que se devuelven los errores.

Comentarios

El método de carga de varias partes no se admite en OneDrive para la Empresa, SharePoint Online y SharePoint Server 2016.