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.