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-файл, если вы хотите быть более строгим.