Téléversez des images sur le serveur ABBYY FlexiCapture via la Mobile API à l’aide de requêtes PUT ou POST, avec vérification du hachage MD5 et prise en charge du multipart.
Pour téléverser un fichier sur le serveur, utilisez une requête PUT ou POST.
Le nom du lot. Paramètre obligatoire. Si aucune valeur n’est spécifiée, le type de lot par défaut sera utilisé.
filename
Le nom du fichier à téléverser. Paramètre obligatoire
Nous vous recommandons de spécifier explicitement la valeur de l’en-tête Content-type. Le fichier à téléverser est indiqué dans le corps de la requête PUT.Le hachage est pris en charge. Transmettez au serveur FlexiCapture 12 la valeur de la fonction de hachage MD5. Cette valeur doit être encodée en Base64 à l’aide de UTF-16LE et transmise dans l’en-tête standard Content-MD5. Le serveur calculera la valeur de la fonction de hachage pour le fichier et la comparera à la valeur transmise dans l’en-tête. Si les valeurs ne correspondent pas, le fichier sera supprimé du serveur.Le serveur peut renvoyer deux réponses :
HTTP 201 (Created) - Le fichier a été téléversé avec succès vers le serveur.
HTTP 400 (Bad request) - Certains paramètres obligatoires n’ont pas été spécifiés/La valeur de la fonction de hachage ne correspond pas à celle indiquée dans l’en-tête et aucun fichier n’a été téléversé.
Actuellement, vous ne pouvez pas transmettre les paramètres d’enregistrement au serveur.
Nous recommandons d’utiliser des requêtes PUT. Si, pour une raison quelconque, les requêtes PUT ne peuvent pas être utilisées, vous pouvez téléverser un fichier vers le serveur à l’aide d’une requête POST. Les paramètres projectName et batchType peuvent être transmis dans l’URL, comme dans une requête PUT, ou sous forme de champs de texte dans le corps de la requête.Vous pouvez transmettre plusieurs images dans une seule requête POST. Pour transmettre plusieurs images, définissez la valeur du champ Content-type sur “multipart/form-data” et indiquez la valeur du séparateur dans le paramètre boundary. Les noms des fichiers inclus dans une requête ne doivent pas être identiques.
Exemple de transmission de plusieurs fichiers
Content-type: multipart/form-data; boundary=<random string>--<boundary value>Content-Disposition: form-data; name=<field name>; filename=<name of file 1><crlf>Content-MD5: <value of MD5 hash for file><crlf><crlf><file data>
--<boundary value>Content-Disposition: form-data; name=<field name>; filename=<name of file 2><crlf><crlf><file data>
Vous pouvez également transmettre un champ de texte à l’aide d’une requête POST.