Другие языки программирования и технологии

JavaScript Как получить данные из файла с помощью JavaScript?

Предположим следующее: JavaScript - это в браузере.
Файл - это НЕ сам файл той странички, на которой выполняется JS.

Тогда так:

Файл на сервере можно прочитать через AJAX, но сервер еще нужно научить отдать нужные данные клиенту.

Файл на клиенте: произвольный файл прочитать нельзя. У JS есть доступ к кое-каким локальным ресурсам (например, local storage и тп) , но где это лежит и как там байтики внутри файла/файлов расположены - это решает браузер, а не JS.

Еще для бинарного чтения [почти] произвольного файла на клиенте можно попробовать сделать так: AJAX-запрос послать на локальный URL в попытке прочитать локальный файл (подход похож чуток на FileAPI выше) . Но в подавляющем большинстве случаев браузер даст отлуп по CORS. Сработает, если только HTML-ка локальная, была открыта из той же папки, где лежит сам файл, да и то не во всех браузерах

PPS. Если нужно прочитать локальный КАРТИНОЧНЫЙ файл, то AJAX-вызов на локальный файловый урл может и сработать. Нужно пробовать, там для картинок и им подобных файлов очень замороченные правила по security, но они существенно менее жесткие, чем для произвольных файлов. И AJAX-вызовы на файловые урлы в разных браузерах по-разному работают, главное, что они работают, но c жесткими [и разными в разных браузерах] ограничениями.
Аслан Сейтов
Аслан Сейтов
19 662
Лучший ответ
из какого файла?
из локального файла - никак. разве что с помощью HTML5 fileReader facility: dev.w3.org/2006/webapi/FileAPI/ , мало где поддерживается и пользователю придется самому выбрать нужный файл.

получить информацию с того же сервера, с которого загружена страница можно с помощью ajax запроса.

получить с какого-то другого сервера сложнее, здесь читайте про cross domain ajax

Похожие вопросы