Le chargement d’images en bloc vers AEM Dynamic Media échoue avec l’erreur « Format de fichier non pris en charge »
Les chargements d’images en bloc vers Adobe Experience Manager (AEM) Dynamic Media ou Scene7 échouent avec des erreurs telles que format de fichier non pris en charge ou format non valide même si les images sont des fichiers JPG/JPEG valides. Ce problème se produit généralement lors de l’ingestion automatisée à partir de serveurs distants. Elle implique souvent des scripts ou des appels d’API.
Le problème provient de mécanismes de protection de robots sur le serveur distant, qui bloquent les requêtes des clients par défaut, ce qui entraîne une mauvaise interprétation des pages d’erreur d’HTML par AEM en tant que fichiers image.
Pour corriger ce problème, mettez à jour la chaîne Agent-utilisateur ou ajustez les paramètres du serveur afin d’autoriser les téléchargements d’images sans déclencher de protection des robots.
Description description
Environnement
- Produit : Dynamic Media Adobe Experience Manager / Scene7
- Méthode de chargement : ingestion de ressources en bloc, scripts automatisés ou appels API (par exemple, à l’aide de la fonctionnalité
UploadUrl) - Asset Source : serveur distant/externe via des URL publiques (par exemple, gestion des ressources numériques externe, référentiel de produit, plateforme du partenaire).
Problème/Symptômes
- Les images JPG et JPEG ne parviennent pas à se charger et sont marquées dans les journaux de tâches Scene7 comme format de fichier non pris en charge ou format non valide.
- Succès partiel/incohérent : certains fichiers d’un traitement par lots sont chargés correctement, d’autres échouent.
- Le chargement ou le téléchargement manuel de ressources (à l’aide d’un navigateur) à partir de la même URL fonctionne généralement.
Cause principale
- Le serveur distant hébergeant les fichiers image utilise une protection de robots côté serveur qui bloque les requêtes rapides ou automatisées.
- Les requêtes provenant de la chaîne Agent-utilisateur Apache HttpClient par défaut (
Apache-HttpClient/4.5.x) sont marquées et bloquées. - Le serveur répond avec le HTTP 429 (Too Many Requests) et renvoie une page d’erreur HTML au lieu de l’image.
- Le serveur Dynamic Media tente de traiter la réponse de l’URL de la ressource sous forme d’image ; puisqu’il s’agit en fait d’HTML et non d’un JPEG, les journaux la signalent comme format de fichier non pris en charge ou format non valide.
Résolution resolution
Pour résoudre le problème :
-
Configurez le serveur distant pour autoriser les requêtes provenant du User-Agent Apache HttpClient par défaut (
Apache-HttpClient/4.5.14). -
Vous pouvez également modifier votre script ou votre application pour utiliser une autre chaîne Agent-utilisateur qui imite un navigateur standard, telle que :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 -
Si vous ne pouvez pas modifier les configurations du serveur ou les chaînes Agent-utilisateur, implémentez la limitation de débit dans votre script afin de réduire le nombre de requêtes simultanées et d’éviter de déclencher la détection des robots.