Можно ли прочитать файл с помощью JavaScript? - PullRequest
2 голосов
/ 17 февраля 2011

Привет всем, я просто хочу знать, можем ли мы прочитать файл, используя javascript как

что мы делаем

fp=("r","path")

как это возможно?

Ответы [ 6 ]

5 голосов
/ 17 февраля 2011

Нет, это невозможно в браузере.Javascript работает в изолированной среде и не имеет доступа к файловой системе.Для доступа к его файловой системе вам может потребоваться установка специальных плагинов в браузере клиента.

3 голосов
/ 17 февраля 2011

Да , это возможно даже в некоторых браузерах.

Чтение локального файла из браузера

Если браузер поддерживаетновый Файловый API , вы можете читать любой файл, который пользователь дает вам разрешение на чтение через элемент input[type=file]. Спецификация | Пример здесь на StackOverflow

Чтение файла сервера из браузера

Это можно сделать во всех основных браузерах, использующих «ajax», более конкретно XMLHttpRequest объект .Это стало намного проще благодаря библиотекам, таким как jQuery , Prototype , YUI , Closure или любой из нескольких других .

На сервере, рабочей станции и т. Д. (Не в браузере)

Вам потребуется среда, обеспечивающая чтение файлов, например NodeJS .

2 голосов
/ 17 февраля 2011

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

Сказав, что это возможно, но вы ограничены тем, что вы можете сделать.

Я предполагаю, что это локальный файл на пользовательском компьютере, иначе AJAX достигнет этого для чтения с сервера.

Это может быть возможно с помощью

  1. Объектная модель хоста сценариев Windows (WScript.Shell) и при предоставлении запроса или разрешения доступа к ActiveX браузер имеет повышенные права (Включить черезСервис> Свойства обозревателя> Безопасность> Пользовательский уровень ...> Установите параметры Active X для запроса).Если это все еще сложно, пользователь может загрузить что-то установленное, а затем выполнить чтение с помощью Shell Scripting! Отказ от ответственности: Примечание. Я не рекомендую этот подход.Он неактивен по какой-то причине и настолько грязен (я чувствую себя грязным)!

  2. Куки также стоит рассмотреть.Если вы можете сохранить информацию в файле cookie, JavaScript сможет прочитать, записать и обновить ее.

    Найден этот код из http://www.quirksmode.org/js/cookies.html, прокрутите вправо до конца для примера.

    function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    

    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }
    
    function eraseCookie(name) {
        createCookie(name,"",-1);
    }
    
2 голосов
/ 17 февраля 2011
0 голосов
/ 17 марта 2014

Чтение клиентских файлов в javascript возможно с новым File API, доступным в современных браузерах. Проверьте этот сайт и его код: http://www.readfileonline.com/

0 голосов
/ 17 февраля 2011

Вы можете, но затем вам придется использовать AJAX, который является Javascript для серверных заданий.

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