Hago algo muy similar Si está ejecutando una infraestructura que es capaz de esta configuración, le recomiendo servir un recurso compartido en su servidor de archivos (Linux o Windows Server) y simplemente montarlo en la ruta de archivo pública de Drupal, donde sea que esté el directorio público para ese campo en particular.
Por ejemplo, tome la siguiente configuración de Samba (que se encuentra en /etc/samba/smb.conf si ejecuta un servidor de archivos basado en Linux). Esto viene al final del archivo después de todas las demás opciones de configuración:
[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
sintaxis allí dice "permite que este grupo de usuarios" acceda a este recurso compartido. En este caso, estamos usando PAM para conectar nuestro servidor de archivos a Active Directory, y este grupo en particular estará disponible una vez que conecte los dos.
En su servidor web, lo que sea que aloje su sitio Drupal, vaya al directorio de archivos públicos. Digamos que el campo particular para el que necesita que estén disponibles los archivos es público: // field_with_20k_files /. Ejecutarías un comando de montaje similar así:
sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files
Tengo el gid
conjunto para cualquier proceso que ejecute el servidor web para que tenga acceso a ese directorio. Lo más probable es que desee asegurarse de que el servicio web tenga acceso de lectura y escritura al servidor web que realmente sea capaz de cargar archivos.