2009-09-07 115 views
1

在我的应用程序中,我想用正确的默认程序打开一些文件,例如.doc文件应该用WORD打开,如果安装了.psd文件,应该用Photoshop打开,应该在html或java脚本下完成。使用其默认程序打开文件

请告诉我该怎么做。

回答

0

没有办法让你选择哪个应用程序将用于打开你的文件与JavaScript ...它只是没有这种力量。

0

我不认为这是可能的JavaScript没有使用任何activeX或类似的东西。 Js无法访问本地安装的应用程序。

0

出于安全原因,浏览器通常无法访问计算机的文件系统。如果您知道文件的确切路径,您可以使用file:URI将浏览器指向它。

file:///C:/path/to/file.ext

您可能还可以用插件,例如ActiveX来做到这一点,但我不能确定为这会有什么安全措施。

0

调用系统命令'open'。适用于基于Windows和Unix的客户端。

根据脚本的运行位置,您可能无法调用系统命令,例如在浏览器沙箱中。

0

如果您提供本地文件系统上文件的链接(例如:<a href="file:///C:/mydoc.doc">),那么浏览器将打开它 - 但这不是一个好办法,因为浏览器首先会显示一个对话框(“Do你希望保存或打开“),然后将其”下载“到临时文件中,就像文件是远程文件一样。在这种情况下,如果您编辑并保存文件,它将成为您临时文件夹中的版本。如果你的文件是只读的,这可能不是问题,但通常这不是一个好的用户体验。

唯一的另一种方法是使用ActiveX,这实际上是相当容易(虽然我没有在我确切的代码现在 - 如果你有兴趣的片段写评论,我会更新 )。当然这与巨大闪烁警告:

  1. 它只适用于Internet Explorer。
  2. 您需要用户摆弄他们的安全设置才能运行ActiveX脚本。
0

JavaScript不能运行程序,但如果你有你的服务器上的文件,你可以简单地链接到它:

<a href='image.psd'>Download File</a> 

用户将被promped下载文件或使用默认程序打开它(对于大多数文件)。再次 - 正如其他人所说 - 这是由浏览器决定的。 IE可以在浏览器上打开文档文件,PDF文档也可以打开。

+0

只要您拥有该浏览器的相应插件,IE,Firefox和任何其他浏览器都可以打开任何*类型的文件。您可能安装了Office和Acrobat,但不要以为默认情况下,PDF和WordDoc查看会烘焙到IE中。 – nickf 2009-09-07 06:49:31

+0

全部为true。我想如果我给出一个非常基本的答案,我必须更准确...... – Kobi 2009-09-07 06:59:30

+0

'Content-Disposition:attachment'将阻止它在浏览器中打开。 [向静态文件添加标头相当容易](http:// stackoverflow。com/a/3232820/209139)。 – TRiG 2012-04-13 14:12:48

相关问题