Erreur 404 pour télécharger un document déposé

Nous avons migré en Aout une application de V3 vers V4
Pour cette migration, nous avons fait une reprise des données (postgres vers mysql) et aussi copié les documents déposés par les utilisateurs sur la nouvelle instance.

Lorsque nous essayons de télécharger les documents, ça fonctionne pour certains mais pas pour d’autres = Erreur 404.

J’ai vérifié en base, les référénces dans m_document sont correctes :

j’ai vérifié sur le serveur, le document est bien présent :
image

requête envoyée :
https://region.bretagne.bzh/eqlyc/ui/document?object=CrbEqlDemandePj&field=eqlDemandePjDoc&row_id=40036&doc_id=63411&_=4b75e331329a5018f5504996ce9c3fe498350469_20210901022448

Bonjour Rosanne,

Il n’y a pas de changement de comportement entre la V3 et la V4 sur le stockage des documents.

Plusieurs pistes :

  • Que valent les paramètres DOC_DIR et DOC_LOCAL_DIR ?
  • Pour des fichiers dans le file system par défaut de la webapp, il faut que DOC_DIR = dbdoc ? si c’est BLOB, Simplicité utilise le colonne blob de m_document et non le fichier physique (juste en fallback avec DOC_LOCAL_DIR pour charger le fichier physique en blob au premier accès)
  • Via la UI dans le menu Documents, le document est-il listé et accessible ?

exemple

  • est ce que ce sont les bons noms d’attribut + objet en plus du dbd_row_id + row_id ?
  • pas de filtre, search-spec… quelque part dans votre code sur l’objet DocumentSystem ?
  • est ce que le path ou nom du fichier contient des caractères spéciaux (type / > < : " ou utf-8…)
  • ou nom de fichier trop grand pour la colonne dbd_path qu’il faudra agrandir ?

DOC_DIR et DOC_LOCAL_DIR sont dbdoc
via la ui document, les docs sont listés et accessibles
oui, ce sont les bons id d’attributs et d’objet
rien de spécial sur l’objet DocumentSystem
pas de caractères spéciaux
la colonne dbd_path est prévue à 4000 caractères

Ok,
si le doc est bien téléchargeable directement depuis l’objet système Documents et sans passer par l’objet métier, c’est que tout est bien câblé techniquement. Il faudrait maintenant comparer l’URL pour télécharger le doc depuis tous les points d’accès (document, liste et formulaire).

Si ce sont les mêmes c’est certainement un problème de droits de lecture sur le record de l’objet qui contient des documents. Quand on demande un document d’un record :

  • simplicité vérifie que le doc existe (dans la table m_document avec les bonnes références + path)
  • et que le “select” avec les droits utilisateur ramène bien le record avant de servir le document.

A tester avec plusieurs profils, et voir s’il y a des filtres/search-spec sur l’objet métier qui limitent l’accès aux enregistrements qui ne servent pas les documents.

ça y est, j’ai trouvé ! il y a effectivement un filtre dans mon objet métier.
dans le menu, j’affiche la liste des documents déposés depuis les 6 derniers mois. Du coup, ce filtre empêche le teléchargement …

merci pour ton aide :slight_smile:

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.