2010-02-23 74 views
1

对用户拖放文本文件并将其拖放到浏览器上是否有任何反应?如果用户在加载我的页面时将文本文件放到浏览器中,我希望能够使用javascript打开文本文件的内容。我不认为这是可能的,但只是检查。使用flash或javascript读取本地文本文件?

是这样的可能在闪光?

作为替代,用户可以指定文件路径为我,然后我可以打开文本文件和读取它。似乎这是一个安全风险,可能不会被允许,但只是检查。看起来闪光灯10可以这样吗?

感谢

回答

1

因为它违反了浏览器的安全模式,您无法读取使用JavaScript本地文本文件。

+0

这并不完全准确,因为你可以使用一个AJAX调用试图通过URI打开任何资源。不过,浏览器会根据场上的默认安全设置一个合适的。如果用户愿意,可以选择允许这种行为。 – Josh 2010-02-23 19:11:00

+0

@Josh如果用户确实,他们就会比得到一个txt文件... – Achilles 2010-02-23 19:44:13

+0

真正的大问题,但只是想让他们知道,这是不可能的。这不是JavaScript的限制,而是浏览器中强制执行的安全性。 – Josh 2010-02-23 20:36:08

0

我觉得最后的选择是可能的。也许你可以从javascript中请求一个文件路径。你有一些filepickers这(谷歌它)

然后发送TE文件路径通过期运用ExternalInterface的或Flash变数

闪烁,然后处理文件路径字符串闪光灯

见:

http://www.republicofcode.com/tutorials/flash/loading_external_text_bc/

+0

现代浏览器不会提供''元素的完整文件路径。换句话说,当你检查这些元素的“.value”属性时,你不会得到完整的(或真实的)路径名。我怀疑你必须通过Flash来完成整个事情。另外,我不认为你提供的链接与加载来自*客户*机器的内容有关。 – Pointy 2010-02-23 19:11:37

+0

不,我在这里试过,你只能通过JavaScript在Firefox中获取文件名。 IE只显示文件名。也许你在发布或提交表单时得到它?如果您将该方法上传到服务器,则可以在链接中使用该方法;如果您要使用SWF本地,则也可以使用该方法 – Michel 2010-02-23 19:22:34

+0

再次,出于安全原因,实际的客户端计算机路径名对Javascript不可用并且不可用到服务器。所有你可以得到可靠的是路径的最后部分(文件名,没有任何目录)。 IE7可能会给你一切,但它已经坏了。 – Pointy 2010-02-23 19:49:32

0

如果拖动一个文本文件(或图像,文档等),并将其放置在打开的浏览器,浏览器会打开文件进行reading-像文件撰写命令,它抹了现有文件。

0

的Flash Player浏览器插件是绝对不能够处理的文件拖坠(不像AIR运行时,可以处理它 - 但它是桌面应用程序的问题)。我知道在浏览器中完成该操作的唯一方法是使用诸如Google Gears之类的东西。例如,Confluence通过将多个图像放入浏览器窗口来同时上传多个图像。

相关问题