繁体   English   中英

阅读并显示JavaScript中的文本文件

[英]Read & display text file in javascript

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

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

我知道您说过您希望往返,但这是您能够完成自己想要的事情的唯一方法。

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

通常无法完成此操作,因为此处列出了答案。

但是,只能使用uploadfield.files数组在Firefox 3+中完成此操作。 其他浏览器将不得不回退到服务器往返。

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

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

正如这里的其他张贴者所指出的那样,不允许您直接从Javascript访问本地文件系统。 但是您可以在服务器上设置一个操作,以采用POST输入的文件形式,然后直接将数据回显到响应中。 如果您以页面POST目标的形式将页面内的iframe隐藏起来,则该响应数据可以显示在隐藏的iframe中,这样就不必重新加载页面。 然后,一旦iframe加载了文本,就可以使用JS将文本从iframe中拉出,然后将其放入您感兴趣的文本区域。

另外,如果您倾向于将扩展名限制为Firefox用户使用,则无需使用Greasemonkey用户脚本(请参见www.greasespot.com)或类似的使用自定义Mozilla的脚本即可完成此操作扩展名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM