15.3 Téléchargement d'un fichier de document
15.3.1 Url
Téléchargement d'un fichier contenu dans un attribut de type file
ou image
. :
GET api/v1/documents/<documentId>/files/<attrid>
Pour des attributs inclus dans un tableau, l'index indique le rang dans le tableau
GET api/v1/documents/<documentId>/files/<attrid>/<index>
Téléchargement du fichier associé à l'attribut <attrid>
du document <documentId>
.
L'index <index>
facultatif vaut -1
pour les attributs fichiers non contenu
dans un tableau.
Dans le cas, d'un attribut inclus dans un tableau, l'index contient le rang dans le tableau de fichier. 0 indique la première rangée.
Si l'index n'est pas indiqué pour un attribut inclus dans un tableau, alors l'ensemble des fichiers sera téléchargé dans une archive "zip". Les fichiers sont alors numérotés suivant l'ordre du tableau.
Ce fichier est extrait du vault.
De manière optionnelle, le nom du fichier peut être indiqué après l'index pour préciser le fichier mais ce nom n'est pas utilisé pour récupérer le fichier.
Pour accéder au fichier, le droit view
sur le document est vérifié. De plus,
si l'attribut est en visibilité "I" alors le téléchargement du fichier ne sera
pas autorisé.
15.3.2 Structure de retour
15.3.2.1 En cas de réussite
Le retour est le contenu du fichier.
15.3.2.2 En cas d'échec
En cas d'échec, une structure JSON est
retournée avec l'erreur si aucune extension n'est indiquée dans l'url. Si une
extension (différente de json
) est indiquée alors l'erreur affiché sera un
texte brut.
Les raisons d'échecs spécifiques à cette requête sont
Raison | Status HTTP | Error Code |
---|---|---|
Document non trouvé | 404 | CRUD0200 |
Privilège insuffisant pour accéder au document | 403 | CRUD0201 |
Document supprimé | 404 | CRUD0219 |
Propriété demandée inexistante | 400 | CRUD0202 |
Attribut demandé inexistant | 400 | CRUD0605 |
Visibilité "I" sur l'attribut | 403 | CRUD0606 |
Attribut n'est pas de type file ou image | 400 | CRUD0614 |
Erreur dans l'index | 400 | CRUD0610 |
Erreur dans l'index | 400 | CRUD0611 |
Erreur dans l'index | 400 | CRUD0612 |
Pas de fichier enregistré | 404 | CRUD0607 |
Erreur sur la valeur de l'attribut | 400 | CRUD0608 |
Fichier non référencé dans le coffre | 400 | CRUD0609 |
15.3.3 Paramètres
Le paramètre inline
permet de modifier l'entête HTTP pour demander au
navigateur un téléchargement de fichier ou un affichage dans le navigateur dans
le cas où celui-ci permet son affichage.
Par défaut, le téléchargement est demandé. L'entête contient
Content-Disposition: attachment
Si inline
vaut "true", "1" ou "yes", la disposition vaut :
Content-Disposition: inline
15.3.4 Exemple :
Récupération des informations sur l'attribut my_file
du document 41429
.
GET /tmp/api/v1/documents/41429?fields=document.attributes.my_file
Réponse :
{ "success": true, "messages": [], "data": { "document": { "attributes": { "my_file": { "size": "459285", "creationDate": "2016-05-09 09:11:58", "fileName": "web api.pdf", "url": "api/v1/documents/41429/files/my_file/-1/web%20api.pdf", "mime": "application/pdf", "icon": "api/v1/images/assets/sizes/20x20c/mime-pdf.png", "value": "application/pdf|4090445749180739423|web api.pdf", "displayValue": "web api.pdf" } }, "uri": "/tmp/api/v1/documents/41429.json" } } }
La réponse de la consultation d'un document contient l'url de téléchargement
(dans la propriété url
) de l'attribut.
Téléchargement :
GET http://localhost/tmp/api/v1/documents/41429/files/my_file
ou avec le nom du fichier en option et pour un affichage web:
GET http://localhost/tmp/api/v1/documents/41429/files/my_file/-1/web%20api.pdf?inline=1