Несколько вопросов по программированию файлообменника, поможете?
1. headers:
Content-Description: File Transfer
Content-Disposition: attachment; filename=image.jpg
Content-Type: application/octet-stream

2, 4: Воспользоваться плагином jQuery File Upload , главное проверяйте на сервере, потому что 100% клиентскую проверку невозможно реализовать.

3. Обычно это делается через Flash, не все браузеры это поддерживают. Готовые решения например тут: code.google.com/p/zeroclipboard/ + плагин JS: www.steamdev.com/zclip/
2. В ие размер файлы можно проверять через ActiveX
www.kavoir.com/2009/01/check-for-file-size-with-javascript-before-uploading.html