Чтение CSV-файла на стороне клиента - PullRequest
2 голосов
/ 22 сентября 2010

Мне нужно прочитать первые пару строк на стороне клиента файла csv, чтобы предоставить пользователю предварительный просмотр перед загрузкой большого файла.

Я использую c # с ASP.Net (VS2010)

Кто-нибудь знает, как это можно сделать?Кроме того, он работает во всех браузерах!?!

(использовать activeX или другое невозможно, мы не хотим, чтобы наши клиенты что-то устанавливали!)

Пример кода был бы великолепен!

Заранее спасибо!

Ответы [ 4 ]

3 голосов
/ 22 сентября 2010

Firefox 3.6+ и Chrome (по крайней мере версия 6, возможно более старые версии) поддерживают Файловый API , который позволяет читать локальные файлы из файлового ввода.

Вот краткий пример:

function handleFile(file) {
    var reader = new FileReader();
    reader.onload = function(e) {
        // Here's where you would parse the first few lines of the CSV file
        console.log(e.target.result);
    };
    reader.readAsText(file);
}

в вашем html, вы бы получили что-то вроде этого:

<input type="file" onchange="handleFile(this.files[0])" />

Конечно, в реальной жизни вы должны сделать это изящно.

The file объект имеет свойства name и type, которые можно использовать для проверки того, что это CSV-файл, если вы хотите быть более строгим.

1 голос
/ 01 октября 2010

Существует предложение W3C для Файлового API в HTML5.Я запустил несколько браузеров против этого теста и обнаружил, что Firefox 3.6 и Chrome 6 поддерживают File Reader API и Local Storage.Safari 5 (в Windows) поддерживается Local Storage, но не File Reader API.Извините, я не смог протестировать IE9, поскольку в корпоративной политике IE6 (?!) Был зафиксирован.

1 голос
/ 22 сентября 2010

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

1 голос
/ 22 сентября 2010

Вы не можете читать локальный файл с помощью ванильного JavaScript.

Вы можете использовать activeX как прогрессивное усовершенствование для тех, кто использует IE (хотя предоставление расширенного опыта пользователям IE идет вразрез со всем, за что я выступаю!).

Если вы можете использовать Flash, посмотрите на Чтение локального файла во Flash .

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