Partager via


Chargement en plusieurs parties vers OneDrive avec POST

La méthode de téléchargement en plusieurs parties vous permet de fournir des métadonnées relatives à un élément et le contenu de cet élément dans un seul appel à l’API. Cette méthode prend uniquement en charge les demandes jusqu’à 4 Mo.

Remarque : le chargement en plusieurs parties n’est pas disponible sur OneDrive Personnel.

Pour charger des fichiers volumineux, consultez cette rubrique.

Autorisations

L’une des autorisations suivantes est requise pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) s/o
Déléguée (compte Microsoft personnel) Files.ReadWrite, Files.ReadWrite.All
Application s/o

Requête HTTP

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

Corps de la demande (chargement du contenu en plusieurs parties + métadonnées)

Le corps en plusieurs parties définit simultanément les métadonnées du fichier et son contenu. Le service détecte ce scénario quand l’en-tête Content-Type: multipart/related est inclus dans la demande.

Pour plus d’informations sur le codage multipartie/associé, reportez-vous à RFC 2387 documents associés/multipartie.

Le document chargé doit contenir exactement deux parties :

Nom Type Description
métadonnées application/json Valeurs de métadonnées à utiliser lors de la création de l’élément.
content binaire Le contenu binaire de l’élément créé.

La demande est refusée si le nombre de parties est supérieur à deux. Chaque partie doit spécifier une valeur name dans l’en-tête Content-Disposition qui indique de quelle partie il s’agit. Les parties peuvent être dans n’importe quel ordre, mais la partie des métadonnées doit être spécifiée en premier.

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

Remarque : Vous pouvez utiliser un attribut Instance dans les métadonnées de l’élément pour contrôler ce qui se produit si vous chargez un fichier portant le même nom qu’un fichier existant. Par défaut, le chargement échoue si un élément existant porte le même nom.

Réponse

En cas de réussite, cette méthode renvoie une ressource DriveItem dans le corps de la réponse pour le fichier créé.

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

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

Réponses d’erreur

Pour plus d’informations sur la façon dont les erreurs sont renvoyées, voir Réponses d’erreur.

Remarques

La méthode de chargement en plusieurs parties n’est pas prise en charge dans OneDrive Entreprise, SharePoint Online et SharePoint Server 2016.