Pour échanger des fichiers avec le serveur d’applications, utilisez une requête POST.
Avant d’envoyer des requêtes de fichiers, connectez-vous à l’API Web Services. Pour plus d’informations, consultez Connexion à l’API Web Services.
Utilisez des requêtes POST pour effectuer les actions suivantes :
| Valeur de l’action | Description |
|---|
Load | Charger des fichiers à partir du serveur. |
Save | Enregistrer des fichiers sur le serveur. |
Append | Ajouter des données à la fin d’un fichier. |
Checksum | Obtenir la somme de contrôle d’un fichier sur le serveur. La somme de contrôle est calculée à l’aide de la méthode CRC32. |
Cas d’utilisation courants
- Importer des images : charger des fichiers image, y compris en plusieurs parties, et obtenir leur somme de contrôle.
- Obtenir à tout moment du traitement les images des pages d’origine.
- Travailler avec les pièces jointes des lots, des documents et des pages (téléversement et téléchargement).
- Obtenir la description XML d’une tâche de vérification, modifier le document et enregistrer les modifications sur le serveur.
Pour les pièces jointes volumineuses, utilisez des requêtes POST. Les fichiers volumineux sont divisés en parties plus petites et téléversés vers le serveur. Lorsque vous utilisez une requête POST pour ajouter une pièce jointe à un objet, appelez la méthode SaveAttachment après la requête POST, en passant un fichier de longueur nulle portant le nom du fichier transféré comme paramètre file. Dans les autres cas, utilisez les méthodes Pièces jointes, spécialement conçues pour les pièces jointes.
Assurez-vous que les champs de la requête sont correctement renseignés.
| Nom | Type | Description |
|---|
Action | string | Type d’action. Pour plus d’informations, voir Types d’actions. |
sessionId | int | ID de la session, utilisé pour vérifier les autorisations de l’utilisateur. |
projectId | int | ID du projet. |
batchId | int | ID du lot. |
objectType | int | Type d’objet sur le serveur. Pour plus d’informations, voir Types d’objet. |
objectId | int | ID de l’objet (d’un document, d’une page ou d’une tâche). |
parentId | int | ID du document parent. Indiquez-le pour les jeux de documents ; pour les documents qui ne font pas partie d’un jeu, utilisez 0. |
version | int | Version du fichier. |
streamName | string | Nom du flux binaire encodé. Pour plus d’informations, voir Noms de flux. |
blob | — | Données de fichier binaires (lorsque Action est Save ou Append). |
offset | int | Décalage à partir du début du fichier, après lequel ajouter les données (lorsque Action est Append). |
Le paramètre objectType accepte les valeurs suivantes :
| Valeur | Type d’objet |
|---|
0 | Document |
1 | Page |
5 | Petite copie de la page affichée sous forme de vignette (fichier PNG) |
8 | Pièce jointe de tâche (document XML) |
13 | Fichier accessible à tous les utilisateurs, tel qu’un contrat de licence utilisateur final |
Le type d’objet 8 (pièce jointe de tâche) est particulièrement adapté aux pièces jointes volumineuses. Dans les autres cas, utilisez les méthodes Pièces jointes, spécialement conçues pour les pièces jointes.
Pour les fichiers de type d’objet 13, définissez projectId sur 0 et batchId sur 0 — ces fichiers n’appartiennent à aucun projet, lot ou tenant. Pour écrire un fichier de ce type, l’administrateur doit ouvrir une session. Pour lire un fichier de ce type, indiquez sessionId=0 ; il n’est pas nécessaire d’ouvrir une session.
Le paramètre streamName correspond au nom du flux binaire. Utilisez l’encodage Base64 lors de l’enregistrement d’un fichier sur le serveur, et l’encodage UrlEncode lors du chargement d’un fichier depuis le serveur. Les valeurs disponibles dépendent du type d’objet.
| Valeur | Description |
|---|
BlackWhiteImage | L’image en noir et blanc de la page (fichier PNG). |
ColorImage | L’image en couleur de la page (fichier JPG). |
Preview | L’aperçu de l’image de la page (fichier PNG). |
Noms des flux de document
| Valeur | Description |
|---|
DocumentBody | Document XML décrivant les champs du document. Créé lors de la préparation de la tâche pour les stations Web. Après la vérification, les modifications apportées au document sont traitées. Les versions ne sont pas prises en charge ; définissez le paramètre version sur 0. Enregistrez les résultats du traitement des documents dans ce fichier. |
Page pageID | pageID est l’ID d’une page renvoyée par la méthode AddNewPage. Utilisez ce nom de flux pour téléverser l’image d’une page source avant le prétraitement. |
FileName | FileName est le nom d’un fichier spécifié lors de la création du document avec la méthode AddNewDocument. Utilisez ce nom de flux pour téléverser un fichier multipage contenant des images de pages du document. |
RecognizedWords | Document XML contenant les mots reconnus et leurs coordonnées sur la page. |
Verification — Un document XML qui décrit une tâche de vérification. Il est créé lors de la préparation de la tâche pour les stations Web. Après la vérification, les modifications apportées au document sont traitées. Les versions ne sont pas prises en charge ; définissez le paramètre version sur 1. Enregistrez les résultats du traitement de la tâche dans ce fichier.
VerificationRequest — Correspond à l’une des requêtes suivantes :
- Un document XML qui contient une requête visant à exécuter des opérations dans un lot, y compris la séparation des documents et la réorganisation des pages. Ce type de requête est utilisé par la station Web pour la vérification des règles.
- Un document XML contenant une requête de routage.
- Un document XML contenant une requête d’extrapolation de
LineItems.
- Un document XML contenant une requête de vérification des données.
Le stockage de fichiers contient l’ensemble des fichiers du projet. Le nom du fichier encode le type d’objet, l’identifiant de l’objet et le nom du flux sous la forme <object type>-<object id>-<stream name>version.
Les fichiers de page (objectType = 1) contiennent des copies d’images, tandis que les fichiers de document (objectType = 0) contiennent les images source. Pour cette raison, vous ne pouvez pas modifier une image au moyen d’une requête POST avec objectType = 1.
Chargement d’un fichier depuis le serveur
Pour charger un fichier de page (objectType = 1) ayant id=4, streamName=C:\Temp\image.pdf et version=184201843 depuis le serveur, utilisez la requête POST suivante :
1-4-C:\Temp\image.pdf184201843
Enregistrer un fichier sur le serveur
Pour enregistrer un document (objectType = 0) avec id=4, projectId=3, batchId=6, version=522 et streamName=C:\Temp\image.pdf sur le serveur, utilisez la requête POST suivante :
resp = FileRequest(
action: "Save",
objectType: 0,
projectId: 3,
batchId: 6,
objectId: 4,
version: 522,
streamName: "C:\Temp\image.pdf",
file: new ByteArrayContent(buffer, 0, readed),
clientCredentials: clientCredentials,
endpointAddress: endpointAddress);
Pour plus d’informations, consultez Examples.