是否可以从javascript中的<input type =“file”/>拦截文件?

时间:2009-05-01 01:16:39

标签: javascript file-upload

是否可以读取使用文件输入控件选择的文件的内容?我希望做的事情如下:

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

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

如果您使用HTA(超文本终端应用程序,请参阅http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx)。如果你这样做,你将被绑定到Internet Explorer,但可以自由访问文件,注册表等。当然存在安全问题。

答案 2 :(得分:0)

在许多浏览器中可能无法实现。如果我们使用用户的凭据给anytaty javascript读取文件系统中的任意文件的能力,会发生什么?坏事。恶意javascript可以轻松获取文件数据并将其发回服务器,在后台安静地窥探所有文件。

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

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