Nur zur Information: Es gibt bereits native Unterstützung, um Uploads im S3-Speicher abzulegen. Sie müssen nur aktivieren:

Die aktuelle Post-UI unterstützt dies bereits.
Vielleicht können Sie diese nutzen, wenn Sie weitere Änderungen benötigen, und dies sollte Ihr Projekt erheblich vereinfachen.
Siehe: Configure an S3 compatible object storage provider for uploads