2016-04-15 3 views
2

Я хочу читать локальный текстовый файл автоматически, когда моя веб-страница открывается на моем компьютере. Как я могу это сделать? Я использовал следующий код из одного из решений, отвечающих на этом сайте, и он говорит: «Доступ запрещен».Как читать локальный текстовый файл?

<script type="text/javascript"> 
var fileDisplayArea = document.getElementById('fileText'); //to show output 
function readTextFile(file) 
{ 
    var rawFile = new XMLHttpRequest(); 
    rawFile.open("GET", file, false); 
    rawFile.onreadystatechange = function() 
    { 
     if(rawFile.readyState === 4) 
     { 
      if(rawFile.status === 200 || rawFile.status == 0) 
      { 
       var allText = rawFile.responseText; 
       fileDisplayArea.innerText = allText 
      } 
     } 
    } 
    rawFile.send(null); 
} 

readTextFile("file:///Location/fileToBeRead.txt"); 
</script> 

Есть ли другие проблемы?

+3

Запустите его из 'localhost' ... Не используйте' file: // 'path .. – Rayon

+0

Он работал на моем компьютере. Но, на самом деле, я хочу использовать его на своем Android и строить данные в браузере. Текстовый файл имеет некоторые показания датчика. –

+0

Что делать, если вы использовали входной файл, как здесь: http://oss.sheetjs.com/js-xlsx/? –

ответ

4

Вы не можете прочитать файл с локальной машины лиц.

Вы можете только читать файлы из того же домена, что ваш сайт работает на (или в случае использования JSONP пройти правил XSS)

0

Вы не должны читать файлы на клиентской машине. Его проблема с безопасностью и, следовательно, не разрешена (доступ запрещен). Если вы хотите хранить данные на клиентской машине, используйте файлы cookie, а не как указано правильно, используйте сеанс html или локальное хранилище.

+0

Последняя часть вашего ответа больше похожа на комментарий. Подумайте об этом. – Neal

0

Для обеспечения безопасности изначально нет способа читать системные файлы (из URL ... file:///...).

0

Возможно, вы сможете использовать функцию Local Storage для HTML5.