Stocker les images téléchargées dans un répertoire propre à un noeud ?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je me suis créé un nouveau type de noeud équivalent à une "story" mais avec un champ image supplémentaire pour pouvoir publier une galerie photos avec le noeud.

J'ai vue dans le paramètre filepath du champ image que l'on pouvait spécifier un chemin pour stocker les fichiers images uploadés en précisant par exemple sites/all/files/[nid]/ pour que les fichiers images soinet automatiquement stocké dans un répertoire ayant comme nom le numéro du noeud créé dans le répertoire sites/all/files mais cela ne fonctionne pas... toutes mes images se trouvent automatiquement téléchargées dans le répertoire site/all/files et se trouvent donc toutes mélangées.

J'ai essayé avec sites/all/files/[nid]/ et avec sites/all/files/[nid] mais rien n'y change.

Je ne sais pas comment faire, merci d'avance de toute aide et/ou conseils.

Dans le même ordre d'idée, j'en parle car c'est peu être lié, si je créé via FTP un sous répertoire dans sites/all/files et y copie une image lorsque je veux insérer cette image dans le body d'un de mes noeuds via CKEditor par exemple, et le browse du file system, lorsque que je sélectionne le répertoire j'ai une alerte bloquante m'indiquant qu'il ne peut pas accéder au répertoire.

Version de Drupal : 

Salut Esolarc

Utilises-tu le module FileField Path pour gérer et créer les dossiers dans lesquels tu souhaites placer tes documents ? sinon c'est ce module qu'il te faut utiliser.

Pour ton soucis d'accès à un répertoire crée, il est tout à fait normal. L'accès aux différents répertoires peut se paramètrer par rôle avec le module IMCE que tu utilises certainement avec CKEditor mais ce n'est pas ta solution...

Cordialement,

Thib

Salut Thib et merci pour ta réponse,

Oui j'utilise le module FileField Path je pense que c'est grâce à lui que j'ai le groupe de champs "FileField Path Setting" au niveau de mon champ "Photos" ou j'ai mis "sites/default/files/[nid]/" dans le champ File Path.

Pour le deuxième point je ne vois pas comment paramètrer l'accès aux répertoires par rôles via le module IMCE... Au niveau des permissions du module IMCE je n'ai que "administrer imce(Executable PHP)".
Et au niveau de la config de IMCE j'ai coché toutes les options (Browse, Upload, Thumbnails, Delete, Resize) au niveau du directory path sites/default/files/. en incluant les sous-répertoires...

Bonjour esolarc,
La "méthode de téléchargement" (/admin/settings/file-system) est bien publique ?
Le chemin du répertoire de stockage est bien le bon ?
Les permissions sur le répertoire "files" sont ok ? Tu as les droits en écriture ?

Dans les settings de File System j'ai :

File system path: sites/default/files

Temporary directory: sites/default/files/tmp

Download method: Public - files are available using HTTP directly.

Le chemin du répertoire de stockage au niveau du champ Photos est : sites/default/files/[nid]/

Les droits d'accès sur le répertoires sites/default/files sont 777 d'ailleurs le répertoire imagefield_thumbs a bien été créé et contient les vignettes.

Merci pour les pistes...

Tu as saisi "sites/default/files/[nid]/" dans le chemin de stockage ?
Si c'est le cas, c'est une erreur, tu dois simplement indiquer [nid], ce qui précède étant implicite.
Par ailleurs, 777 c'est peu conseillé, 755 voire plus restrictif serait plus adapté, d'autant que, sauf erreur, dans certains cas, des réglages de sécurité au niveau du serveur peuvent restreindre l'accès aux dossiers ou fichiers ayant ce type de permissions, trop ouvertes.

En effet 777 c'est pas bien... mais j'ai fait cela pour tenter de trouver le motif à certaines choses qui ne fonctionnent pas, y compris le problème avec le [nid] exprimé ici.

Je testerai la solution de ne mettre que [nid] dans le champ FileField Path et repasserai mon répertoire files en 755 dès ce soir.

Bonjour Esolarc,

Alors pour répondre à ta question sur IMCE, dans le paramétrage du module (admin/settings/imce), tu as une partie "Configuration des profils" dans laquelle tu peux créer des profils d'utilisateurs en regroupant ou non des rôles.
Ensuite tu vas dans l'onglet "outils de création de répertoires" (admin/settings/imce/subdirectory)qui te permet, comme son nom l'indique, de créer les répertoires dans lesquels les différents rôles vont placer leurs illustrations.
En revenant sur le paramétrage général, tu cliques sur "modifier" (à côté d'un profil) et c'est ici que tu détermine où le profil aura l'autorisation de placer ses documents uploadés et donc désigner un répertoire précédemment créé.

Voila, en éspérant que ça t'aura aidé.
Cordialement,

Thib