我的每台客户端计算机上都安装了一个软件,该软件定义了当我的客户端从浏览器调用协议时命名的新协议,软件将在那里运行并执行一些文件传输操作。
例如,如果客户在浏览器中发布了LPL://-s 109.107.108.7 -f c:\tmp\file.big
软件将运行并将file.big
转移到服务器。
现在我在客户端找到完整文件路径时遇到问题,我知道现代浏览器出于安全原因阻止获取完整路径,但是我需要使用web读取客户端的文件内容。
是否有解决此问题的工作
答案 0 :(得分:0)
Java和Silverlight /其他npapi插件可能都可以这样做,但这是因为它们不是沙盒。他们可以访问您计算机上的文件夹和文件,使其与您实际安装在计算机上的程序一样强大(并且可能具有破坏性)。换句话说,Java可用于制作不需要安装的病毒来运行。这是现代浏览器切换到flash等ppapi插件的原因之一,这些插件无法免费访问文件系统。 Chrome甚至不再支持npapi了。
总有一种方法可以通过浏览器发送文件,并且在代码中使用<input type="file" />
元素并让用户手动指定路径。如果您需要在本地计算机上实际使用此文件,可以使用Flash,但由于您要执行的操作是在线发送的,因此您没有理由使用它。