Javascript读取通过表单上传的文本文件

时间:2010-12-06 06:32:43

标签: javascript

我想基于文本文件进行一些基本计算。然而,因为它是一个客户端,它需要直截了当。是否可以纯粹在客户端进行这些计算。如果有人选择要通过表单上传的文件。我可以通过Javascript捕获它并以这种方式处理吗?

1 个答案:

答案 0 :(得分:8)

Matti是正确的,使用HTML 4你运气不好。

但是,通过使用FileReader API,可以使用HTML 5。目前对此功能的支持仅限于最新版本的Chrome,Firefox和Opera。旧版本的Firefox中也存在类似的功能,这也可以通过使用ActiveX在旧版本的Internet Explorer中完成。我认为Google Gears也会允许这样做,尽管我还没有调查过。

执行此操作的Javascript将如下所示:

$( "#files" ).change( function( event )
{
    var reader = new FileReader();
    reader.onload( e ) { /* handle a file being loaded. contents in event.result */ };
    reader.onerror( e ) { /* handle an error during the file reading */ };

    var files = event.target.files;

    for( var i = 0; i < files.length; i++ )
        console.log(reader.readAsText( files[i] ));
});

其中#files只是:

<input type="file" id="files" multiple />