Custom active storage key for S3, GCP, Azure, etc

I am proposing an optional key: parameter to file attachments. It would allow users to define the key used by the storage service. Today the key is randomly generated.

This is beneficial because the random keys generated today are not human readable if the files are viewed/downloaded outside of rails. I don’t want to front a web server to allow my internal customers to view our files.

This would affect both has_one_attached and has_many_attached. It would be up to the user to avoid file collisions and case sensitivity issues outlined here.

Is this a feasible proposal? Any reasons not to do this? Any gotchas I should consider?

It appears you can already do this. It’s just undocumented.

model.some_file.attach(key: 'my_custom_key.ext')