Uploads: Correctly handle empty files. Add spinner