2015-09-24 3 views
1

Я застрял в обработке API-интерфейсов файлов в своей программе HTML. Это мой код до сих пор:Нормальное чтение файла с использованием API файлов

<html> 
<script> 
var file = 'C://test.txt'; 
var myBlob = new Blob([file], {type : "text/plain"}); 
var myReader = new FileReader(); 
myReader.addEventListener("loadend", function(e){ 
    document.write(e.srcElement.result); 
}); 
myReader.readAsText(myBlob); 
</script> 
</html> 

Проблема заключается в том, когда я запускаю его, выход C://test.txt. Но я хочу вывести содержимое моего файла, а не мое имя файла. Я проверил, что мой браузер обновлен. Также необходимо, чтобы я придерживался HTML и JavaScript. Пожалуйста помоги.

ответ

3

В общем, код вашего приложения не может получить содержимое файла из файловой системы пользователя без явного действия пользователя, чтобы инициировать доступ к файловой системе, но есть исключения, и вы можете узнать больше о них по адресу https://stackoverflow.com/a/22033170/2827823 ,

Итак, для вашего веб-приложения, запущенного из какого-либо произвольного источника, чтобы получить доступ к файлам из локальной файловой системы пользователя, вы должны предоставить что-то, что позволит самим пользователям выбирать файлы, которые они хотят использовать для вашего приложения; по существу, это означает, что делает одно из следующих действий в вашем коде:

  • включает <input type="file"> элемент в разметке документа
  • создать перетащить и падение Dropzone в документе, для пользователей, чтобы перетащить файлы в

MDN имеет действительно хорошее руководство по эксплуатации Using files from web applications, которое включает все детали того, как заставить его работать.

Существует также очень хорошее руководство HTML5Rocks Reading files in JavaScript using the File APIs, в котором представлена ​​аналогичная информация и примеры.

+0

Таким образом, это невозможно без ввода пользователя? Я не хочу, чтобы пользователь решал файл. Я хочу, чтобы он исправлялся каждый раз, когда test.txt – vitbits

+0

Невозможно без ввода пользователя. По соображениям безопасности. Подумайте, что произойдет, если какое-либо веб-приложение, которое вы запустили, может тихо и автоматически читать любой файл с вашего компьютера, который он хотел, но не спрашивая вас или без вас, зная, что это происходит. – sideshowbarker

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