阅读&在javascript中显示文本文件

时间:2009-09-24 17:20:05

标签: c# asp.net javascript upload

用户需要点击浏览按钮浏览他的系统。然后选择一个文本文件&点击确定。一旦他点击确定,文本文件中的所有数据都应显示在文本区域中。我该怎么做?我正在使用JavaScript& c#设计aspx页面。如果我避免往返服务器,我会更好。

6 个答案:

答案 0 :(得分:4)

如果没有访问服务器就无法做到这一点,获取文件内容的唯一方法是将其作为表单的一部分提交。您可以通过XHR在iframe中进行服务器之旅,然后使用XHR调用的结果更新文本区域,因此有点似乎没有涉及,但您不能直接出于显而易见的原因,访问用户计算机文件的内容。

答案 1 :(得分:3)

我知道你说你更喜欢往返旅行,但这是你能够完成你想要的唯一方式。

您可以将文件上传放在iframe中,并在幕后进行上传(无页面刷新,gmail会这样做:))然后使用AJAX下载数据并将其插入到textarea中。

答案 2 :(得分:2)

通常不能这样做,因为这里的答案概述。

但是,只能使用uploadfield.files数组在Firefox 3+中完成。其他浏览器必须回程到服务器。

答案 3 :(得分:1)

出于安全原因,JavaScript无法像这样访问本地文件系统。

答案 4 :(得分:1)

如果不对用户造成严重的安全风险,Javascript就无法做到这一点。也就是说,该文件需要发布到您的服务器。

答案 5 :(得分:0)

正如其他海报所示,您不能直接从Javascript访问本地文件系统。但是,您可以在服务器上设置一个操作以从POST输入获取文件,并简单地将数据回送回响应。如果您将页面内的iframe隐藏为表单POST目标,则该响应数据可以显示在隐藏的iframe中,然后页面将不必重新加载。然后,一旦iframe加载了文本,您就可以使用JS将文本拉出iframe,并将其放入您感兴趣的文本区域。

或者,如果您倾向于限制具有扩展名的Firefox用户的使用,您应该能够在没有使用Greasemonkey用户脚本(请参阅www.greasespot.com)或其类似用途的往返的情况下实现此目的。自定义Mozilla扩展。