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

Chr*_*ris 1 javascript

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

Chr*_*ris 8

Matti是正确的,HTML 4你运气不好.

但是,使用HTML 5,可以使用FileReader API实现这一点.目前对此功能的支持仅限于最新版本的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] ));
});
Run Code Online (Sandbox Code Playgroud)

其中#files只是:

<input type="file" id="files" multiple />
Run Code Online (Sandbox Code Playgroud)