2013-07-02 3 views
0

я решил опробовать HTML5 File System API, так что я напечатал простой пример из учебника:Javascript/HTML5 - простая файловая система не работает

window.addEventListener('load', function() { 

    window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 

    function initFs (fs) { 
     console.log(fs); 
    } 

    function fsErr (err) { 
     console.log(err); 
    } 

    window.requestFileSystem(window.TEMPORARY, 5*1024*1024, initFs, fsErr); 

}); 

Когда я бегу на это, FileError объект его (с кодом 2). Кроме того, я использую окна (я говорю это, потому что я думал, что это может иметь какое-то отношение к безопасности системы)

Любая помощь приветствуется!

+0

запустился адрес страницы с «HTTP», как показано в адресной строке? – dandavis

+0

Это локальный файл на моем ПК, поэтому нет, URL-адрес страницы начинается с 'File: ///' – EpicPineapple

+1

, что, вероятно, не сработает, используйте веб-сервер и повторите попытку; код выглядит хорошо с первого взгляда ... – dandavis

ответ

0

Ошибка, которую вы видите, это SECURITY_ERROR. См.: https://developer.mozilla.org/en-US/docs/Web/API/FileError?redirectlocale=en-US&redirectslug=DOM%2FFileError для более подробной информации. Это связано с тем, что вы используете протокол file:. У вас есть 2 способа обойти это:

  1. Слушать файлы с локального веб-сервера.
  2. Используйте Chrome и запустите флаг --allow-file-access-from-files.

В общем случае файловая система предназначена для доступа к изолированным локальным файлам, поэтому вы не можете получить доступ к любому файлу на диске (это было бы серьезное отверстие безопасности). Таким образом, вы не можете просто читать/писать до C:\My Documents\my_credit_card_numbers.txt.

Действительно отличный учебник доступен на HTML5 Rocks

Смежные вопросы