【发布时间】:2009-09-07 06:34:14
【问题描述】:
在我的应用程序中,我想用正确的默认程序打开一些文件,比如 .doc 文件应该用 WORD 打开,如果安装了 .psd 文件,应该用 Photoshop 打开,这应该在 html 或 java 下完成脚本。
请告诉我怎么做。
【问题讨论】:
标签: javascript html
在我的应用程序中,我想用正确的默认程序打开一些文件,比如 .doc 文件应该用 WORD 打开,如果安装了 .psd 文件,应该用 Photoshop 打开,这应该在 html 或 java 下完成脚本。
请告诉我怎么做。
【问题讨论】:
标签: javascript html
您无法选择使用哪个应用程序来使用 javascript 打开文件...它只是没有这种能力。
【讨论】:
如果不使用任何 activeX 或类似的东西,我认为这在 JavaScript 中是不可能的。 Js 无权访问本地安装的应用程序。
【讨论】:
出于安全原因,浏览器通常无权访问计算机的文件系统。如果您知道文件的确切路径,则可以使用文件将浏览器指向它:URI,例如
file:///C:/path/to/file.ext
您也可以使用插件(例如 ActiveX)来执行此操作,但我不确定会有哪些安全措施。
【讨论】:
调用系统命令“打开”。适用于基于 Windows 和 Unix 的客户端。
根据脚本运行的位置,您可能无法调用系统命令,例如在浏览器沙箱中。
【讨论】:
如果您提供本地文件系统上文件的链接(例如:<a href="file:///C:/mydoc.doc">),那么浏览器将打开它 - 但这不是一个好方法,因为浏览器首先会显示一个对话框(“您要保存还是打开”),然后它将“下载”到临时文件中,就像文件是远程文件一样。在这种情况下,如果您编辑并保存文件,它将是您临时文件夹中现在的版本。如果您的文件是只读的,这可能不是问题,但通常这不是很好的用户体验。
唯一的另一种方法是使用 ActiveX,这实际上相当简单(虽然我现在没有确切的代码 - 如果你对 sn-p 和我感兴趣,请写评论'会更新)。当然,这伴随着巨大的闪烁警告:
【讨论】:
JavaScript 无法运行程序,但如果您的服务器上有文件,您可以简单地链接到它:
<a href='image.psd'>Download File</a>
将提示用户下载文件或使用默认程序打开它(对于大多数文件)。再次 - 正如其他人所说 - 这是由浏览器决定的。 IE可以在浏览器上打开doc文件,PDF文件也可以这样打开。
【讨论】:
Content-Disposition: attachment 将阻止它在浏览器中打开。还有it's fairly easy to add headers to static files.