Открыть / Сохранить файл в JavaScript - PullRequest
1 голос
/ 25 июля 2010

Я напишу приложение, которое должно позволить пользователю загружать файлы PNG и JSON, а затем сохранять их.

Как я могу позволить пользователю открывать и сохранять такие файлы?Я не хотел бы писать эхо-сервер для этих изображений.

Ответы [ 3 ]

2 голосов
/ 25 июля 2010

Вы можете загружать файлы с помощью File API (в настоящее время поддерживается только в Firefox 3.6 и Chrome нестабильной (возможно, бета)):

http://dev.w3.org/2006/webapi/FileAPI/

В настоящее время нет способа сохранить файл

1 голос
/ 30 апреля 2011

В целях безопасности вы не можете сделать это только с помощью Javascript. Обычные способы доступа к файловой системе из JavaScript требуют помощи чего-то другого:

  • Java-апплеты доступны практически во всех браузерах.
  • ActiveX - это опция в Internet Explorer.
  • В Firefox вы можете использовать расширение .
  • Flash также разрешает определенные виды доступа.

Вероятно, все они требуют некоторых загадочных приемов, могут быть отключены пользователем и могут потребовать, чтобы детали были специально установлены или одобрены пользователем.

1 голос
/ 25 июля 2010

Я втяну Facebook в разговор.Facebook использует Java для этого.

Я должен отметить, что вы НЕ можете напрямую обращаться к жесткому диску пользователя в JavaScript.Это включает в себя чтение, запись, копирование, флаг, что угодно.Это было бы неплохо с точки зрения безопасности, даже если большинство из нас, кто хотел сделать это [включая меня два года назад], имеют хорошие намерения.

Теперь, некоторые браузеры (кашель IE) действительно позволяют вам получить доступ кфайловая система пользователя через ActiveX, после того, как они нажимают «разрешить activex» ... но это не кросс-браузер / кроссплатформенность, поэтому я бы не рекомендовал это.Проверьте: Scripting.FileSystemObject, fopen


Однако пользователь может загрузить файл на свой сервер, временно загрузить этот файл на стороне клиента, сделать все, что угодно, сохранить файл насервер, и загрузите изображение пользователю с заголовком mime "content" из "application / force-download" ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...