Eu faço algo muito parecido. Se você estiver executando uma infraestrutura capaz dessa configuração, recomendo que você compartilhe seu servidor de arquivos (Linux ou Windows Server) e monte-o no caminho de arquivo público do Drupal, onde quer que o diretório público seja para esse campo específico.
Por exemplo, considere a seguinte configuração do Samba (encontrada em /etc/samba/smb.conf se você executa um servidor de arquivos baseado em Linux). Isso ocorre no final do arquivo, após todas as outras opções de configuração:
[data]
comment = Data directory
browseable = yes
writable = yes
valid users = "@DOMAIN\Domain Admins"
path = /data
create mask = 0664
force create mode = 0664
A valid users
sintaxe lá diz "permite que este grupo de usuários" acesse esse compartilhamento. Nesse caso, estamos usando o PAM para conectar nosso servidor de arquivos ao Active Directory, e esse grupo específico é disponibilizado assim que você conectar os dois.
No servidor da Web, o que estiver hospedando o site Drupal, navegue até o diretório de arquivos públicos. Diga que o campo específico para o qual você precisa disponibilizar os arquivos é público: // field_with_20k_files /. Você executaria um comando de montagem semelhante da seguinte maneira:
sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files
Eu tenho o gid
conjunto para qualquer processo que esteja executando o servidor web, para que ele tenha acesso a esse diretório. Provavelmente, você desejará garantir que o serviço da Web tenha acesso de leitura e gravação ao servidor da Web seja realmente capaz de carregar arquivos.