Я напишу приложение, которое должно позволить пользователю загружать файлы PNG & JSON, а затем сохранять их.
Как я могу позволить пользователю открывать и сохранять такие файлы? Я бы не хотел писать эхо-сервер для этих изображений.
Вы можете загружать файлы с помощью API файлов (поддерживается только в firefox 3.6 и chrome unstable (возможно, бета-версия)):
http://dev.w3.org/2006/webapi/FileAPI/
В настоящее время нет способа сохранить файл
Для обеспечения безопасности вы не можете делать это только с помощью Javascript. Обычные способы доступа к файловой системе из JavaScript требуют помощи чего-то еще:
Эти, вероятно, все требуют некоторых тайных методов, могут быть отключены пользователем и могут нуждаться в деталях, которые будут специально установлены, или OK'd пользователем.
Я вытащу Facebook в разговор. Facebook использует Java для выполнения такой задачи.
Я должен заметить, что вы не можете обращаться к жесткому диску пользователя непосредственно в JavaScript. Это включает в себя чтение, запись, копирование, флаг, что угодно. Это было бы хорошей проблемой безопасности, хотя большинство из нас, которые хотели это сделать (включая меня два года назад), имеют хорошие намерения.
Теперь некоторые браузеры (cough IE) позволяют вам получить доступ к пользовательской файловой системе через ActiveX после того, как они нажмут "разрешить activex"... но это не кросс-браузер/кросс-платформенный, поэтому я бы не стал рекомендовать его. Проверьте: Scripting.FileSystemObject, fopen
Однако вы можете загрузить файл на свой сервер, временно загрузить этот файл на стороне клиента, сделать все, что захотите, сохранить файл на сервере и загрузить изображение пользователю с помощью mime- заголовок "content" из "application/force-download"...