Как читать содержимое файла, используя JavaScript? - PullRequest
4 голосов
/ 29 марта 2011

У меня есть кнопка input type="file". После того, как я выбрал файл, я должен прочитать его содержимое, используя JavaScript. Можно ли читать / получать содержимое выбранного файла, используя javascript или ajax?

Ответы [ 8 ]

9 голосов
/ 29 марта 2011

Вы все не правы в каком-то смысле.Это возможно.С новым File API вы можете читать файлы перед их отправкой на сервер.Однако он доступен не во всех браузерах.

Проверьте этот пример.Попробуйте открыть текстовый файл, например.

http://development.zeta -two.com / stable / file-api / file.html

Редактировать: несмотря на вопросговорит "загруженный файл" Я интерпретирую это как "файл для загрузки".В противном случае это вообще не имеет смысла.

7 голосов
/ 29 марта 2011

С AJAX возможно читать загруженный файл, но с чистым javascript это невозможно, потому что javascript работает на стороне клиента, а не на стороне сервера.

если вы собираетесь использовать jquery, то вызов Ajax может быть таким:

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});
3 голосов
/ 29 марта 2011

Чтение файлов на стороне клиента затруднено:

Как читать и записывать в файл с использованием JavaScript

Читать локальный файл

Локальный доступ к файлам с помощью javascript

Если вы не пытаетесь сделать это с помощью локального javascript:

Доступ к локальным файлам с помощью локального Javascript

Или JavaScript на стороне сервера:

http://en.wikipedia.org/wiki/Server-side_JavaScript

В качестве альтернативы вы можете заставить своего пользователя установить объект ActiveX:

http://4umi.com/web/javascript/fileread.php

0 голосов
/ 03 февраля 2012

Для IE используйте FileSystemObject (который встречается во всех системах Windows).

Для Firefox:

var file = Components.classes["@mozilla.org/file/local;1"].
       createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("/home");

См. https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO

Чтобы увидеть эти и другие используемые методы, посмотрите приложение TiddlyWiki , чтобы увидеть, как оно работает во всех основных браузерах.

0 голосов
/ 29 марта 2011

Это не совсем невозможно

Браузер обычно запускает Javascript (JavaScript Engine) в изолированной среде.

Таким образом, вы можете использовать Windows Scripting Host или Internet Explorer в доверенной среде и использовать FileSystemObject

или используйте

Или загрузите файл на свой сервер и используйте объект XMLHttpRequest . (другими словами - Ajax)

0 голосов
/ 29 марта 2011

Невозможно сделать это в сценарии Java. См. Локальный доступ к файлам с помощью JavaScript

Я согласен с DoXicK выше. Сначала вы можете опубликовать файл на сервере, а затем использовать Ajax для его чтения.

0 голосов
/ 29 марта 2011

Javascript разработан так, чтобы не иметь доступа к компьютеру, на котором он работает.Это так, что мошеннический javascript не может читать жесткий диск пользователя.Вы можете использовать ифреймы.

0 голосов
/ 29 марта 2011

вы не можете сделать это с помощью JavaScript напрямую. Вы можете отправить файл на сервер, а затем использовать ajax для извлечения содержимого.

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