Para sua informação, já existe suporte nativo para colocar uploads no armazenamento S3, você só precisa habilitar:

Portanto, a UI de Postagem atual já suporta isso.
Talvez você possa aproveitar isso se precisar de mais modificações e isso deve simplificar significativamente seu projeto.
Veja: Configure an S3 compatible object storage provider for uploads