Можете ли вы писать файлы в Chrome 8?

Я задаюсь вопросом, можно ли с помощью нового Файлового API, представленного в Chrome (в настоящее время я не занимаюсь кросс-браузерной поддержкой), можно ли выполнять обратную запись в файлы, открытые с помощью файлового ввода.

Вы можете увидеть пример того, чего я пытаюсь достичь здесь: http://www.grehz.com/ide.

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

Я был бы совершенно не удивлен, если бы это было невозможно, хотя (кажется, что с этим есть проблемы с безопасностью). Просто ищу какое-то руководство или ресурсы.

ОБНОВИТЬ:

Я читал здесь: http://dev.w3.org/2009/dap/file-system/file-writer.html

Поскольку я играл в Chrome, похоже, что FileSaver и FileWriter не реализованы, а BlobBuilder - реализован. Я могу вызвать getBlob() для объекта BB, есть ли способ сохранить его без FileSaver или FileWriter?

UPDATE2:

Я нашел эту проблему в проекте Chromium: http://code.google.com/p/chromium/issues/detail?id=65615&q=FileSaver&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS

Таким образом, ясно, что он еще не был реализован ни в одной версии (однако нет упоминания о FileWriter - хотя я считаю, что FileWriter зависит от FileSaver).

Отойдя от этого, я рассматриваю решение на стороне сервера. Когда пользователь нажимает кнопку "Сохранить", содержимое текстовой области публикуется в сценарии, который затем записывает на страницу и отправляется обратно в виде открытого текста или любого другого типа mime, который будет подходящим для загрузки пользователем. Любые другие предложения? Это решение подходит для "сохранить как", но оно немного неуклюже в качестве кнопки сохранения общего назначения.

2 ответа

Решение

От: http://code.google.com/p/chromium/issues/detail?id=58985

FileSystem - это действительно подходящее место для хранения больших файлов (что, как кажется, вы делаете) и доступна в Chrome 9. Я предлагаю вам взглянуть на эти альтернативы.

Обратите внимание на ярлык не- расширения в левом верхнем углу. Похоже, это может быть только для Chromium OS. Я написал Джереми, разработчику, который сделал этот комментарий для разъяснения.

Обновление: Джереми ответил, что расширения на самом деле получат доступ к File API, включая записи, но это будет ограничено песочницей. Он также связался с некоторыми неразвернутыми документами по этому вопросу: http://code.google.com/p/html5rocks/source/browse/www.html5rocks.com/content/tutorials/file/filesystem/index.html?spec=svn1cbb2aab2d6954a56f3067d2d3b9e997215be441&r=1cbb2aab2d6954a56f3067d2d3b9e997215be441

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

Другие вопросы по тегам