2009-05-01 83 views
2

是否可以读取已使用文件输入控件选择的文件的内容?我希望做的事情如下:是否有可能拦截JavaScript中的<input type = file>文件?

<input type="file" id="fileInput" onblur="readFile(this)"/> 

<script language="javascript"> 
    function readFile(file) { 
    document.write(file); 
    } 
</script> 

是这样的事情吗?或者文件上传只是将文件发送到服务器。

回答

2

它可能在Firefox,但它不是标准化的,所以它是不可移植的跨浏览器(例如,WebKit不支持它)。您最好的选择可能是将文件上传到服务器,然后使用XMLHTTPRequest再次下载。

+0

这是一个很好的建议,不幸的是,我需要能够在客户端完全运行。这个应用程序可能分布在CD上。 – alumb 2009-05-01 01:27:52

+0

在这种情况下,除非您能保证您的用户使用Firefox,否则您运气不佳。 – 2009-05-01 01:30:05

0

在许多浏览器中,这可能是不可能的。如果我们使用用户的凭据来授予仲裁javascript读取文件系统中的任意文件的能力,会发生什么?坏事。恶意JavaScript可以轻松地将文件数据发回服务器,悄悄地在后台监听所有文件。

我怀疑这是可能的,我强烈建议不要这样做。

如果它只需要客户端,为什么你使用的是Web应用程序呢?唯一可以显示的文件是纯文本,对此,有许多更简单的查看内容的方法。

相关问题