18

Téléversez un document

upload

POST https://collaboractor.com/api/v1/upload?login=&password=

loginVotre code d'identification.
passwordVotre mot de passe.
multipart/form-data
fileContenu du document en binaire.
$ curl -D - -X POST "https://collaboractor.com/api/v1/upload?login=abcdef&password=ABCDEF" -F "file=@file_sample_500kB.doc;type=application/msword"

NOTE : Utilisez une commande comme file -ib file_sample_500kB.doc pour obtenir le type MIME du fichier en paramètre de l'argument file.

Si le nom du fichier est invalide ou si le type de fichier spécifié n'est pas géré ou si la taille du fichier est supérieure à la taille maximale d'un fichier dans votre espace personnel, le service retourne l'erreur HTTP/1.1 400 Bad Request.

Si le nombre de fichiers dans votre espace personnel a atteint la limite autorisée, le service retourne l'erreur HTTP/1.1 403 Forbidden.

Si un fichier avec le même nom existe déjà dans votre espace personnel, le service retourne l'erreur HTTP/1.1 409 Conflict.

Téléchargez le code des fonctions sendpost et file_mime_type de la librairie iZend. Copiez les fichiers dans l'espace de votre application.

NOTE : Reportez-vous à la page Appelez l'API du service pour une description des fonctions sendpost et file_mime_type.

Ajoutez le fichier fileupload.php avec le contenu suivant :

  1. require_once 'sendhttp.php';
  2. require_once 'filemimetype.php';

Charge le code des fonctions sendpost et file_mime_type.

  1. function file_upload($login, $password, $file) {

Définit la fonction file_upload. $login est votre code d'identification. $password est votre mot de passe. $file est le chemin d'accès du document à téléverser.

  1.     $curl = 'https://collaboractor.com/api/v1/upload' . '?' . 'login=' . urlencode($login) . '&' . 'password=' . urlencode($password);

Met $curl à l'URL de l'action upload avec le code d'identification et le mot de passe du compte de l'utilisateur. $login et $password doivent être échappés.

  1.     $files=array('file' => array('name' => basename($file), 'tmp_name' => $file, 'type' => file_mime_type($file)));

Prépare la liste des fichiers attachés au POST : file - le document avec le nom du fichier, le chemin d'accès au fichier et son type MIME.

  1.     $response=sendpost($curl, false, $files);

Envoie la requête HTTP avec sendpost. Les arguments login et password sont déjà dans $curl.

  1.     if (!$response or $response[0] != 200) {
  2.         return false;
  3.     }

Si $response vaut false, le serveur est inaccessible. Si $response[0] ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite. En cas d'erreur, file_upload retourne false.

  1.     return true;
  2. }

Retourne true si le document a bien été ajouté dans votre espace personnel

EXEMPLE

En supposant que vous avez sauvé les fichiers sendhttp.php, filemimetype.php et fileupload.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction file_upload et appelez-la avec en arguments votre code d'identification et votre mot de passe, le chemin d'accès à un fichier géré par LibreOffice :

$ php -a
php > require_once 'fileupload.php';
php > echo file_upload('abcdef', 'ABCDEF', 'file_sample_500kB.doc') ? 'Ok' : 'Ko';
Ok
php > quit

NOTE : Si file_upload retourne false, éditez le code pour afficher $response.

VOIR AUSSI

Appelez l'API du service, Éditez un document, Téléchargez un document , Supprimez un document

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].