Je fais quelque chose de très similaire. Si vous exécutez une infrastructure capable de cette configuration, je recommande de servir un partage sur votre serveur de fichiers (Linux ou Windows Server) et de simplement le monter dans le chemin de fichier public de Drupal, où que se trouve le répertoire public pour ce champ particulier.
Par exemple, prenez la configuration Samba suivante (trouvée dans /etc/samba/smb.conf si vous exécutez un serveur de fichiers basé sur Linux). Cela vient à la fin du fichier après toutes les autres options de configuration:
[data]
comment = Data directory
browseable = yes
writable = yes
valid users = "@DOMAIN\Domain Admins"
path = /data
create mask = 0664
force create mode = 0664
La valid users
syntaxe indique "permet à ce groupe d'utilisateurs" d'accéder à ce partage. Dans ce cas, nous utilisons PAM pour connecter notre serveur de fichiers à Active Directory, et ce groupe particulier est rendu disponible une fois que vous avez connecté les deux.
Sur votre serveur Web, quel que soit l'hébergeur de votre site Drupal, accédez au répertoire des fichiers publics. Supposons que le champ particulier dont vous avez besoin pour rendre les fichiers disponibles soit public: // field_with_20k_files /. Vous exécuteriez une commande de montage similaire comme ceci:
sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files
J'ai l' gid
ensemble sur le processus qui exécute le serveur Web afin qu'il ait accès à ce répertoire. Il est fort probable que vous souhaitiez vous assurer que le service Web dispose d'un accès en lecture et en écriture au serveur Web capable de télécharger des fichiers.