I do not think that you will receive any specific answers if you have not specified more context and described what the use case for files is. Like any other technological solution, “best practice” will always be a compromise between various functional and non-functional requirements, and therefore the question requires a much larger context in order to give answers that you can go and act on.
, , :
1) , .
, CMS/, , , .
2) . , , . , Transloadit, Zencoder Encoding . , , " ".
3) , . , , . , , paperclip, , , , , , .
4) . , , . , . , . , - , .
, , , , , , , " " :)
!