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.