我想要一个基本html页面上的超链接列表,它指向我们公司内部网上的文件。
当用户点击该链接时,我希望该文件打开。 它们是excel电子表格,这是一个内部网环境,所以我可以指望所有安装了Excel的人。
我尝试了两件事:
<a href="file://server/directory/file.xlsx">Click me!</a>
<HTML>
<HEAD>
<SCRIPT LANGUAGE=VBScript>
Dim objExcel
Sub Btn1_onclick()
call OpenWorkbook("\\server\directory\file.xlsx")
End Sub
Sub OpenWorkbook(strLocation)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = true
objExcel.Workbooks.Open strLocation
objExcel.UserControl = true
End Sub
</SCRIPT>
<TITLE>Launch Excel</Title>
</HEAD>
<BODY>
<INPUT TYPE=BUTTON NAME=Btn1 VALUE="Open Excel File">
</BODY>
</HTML>
我知道这是一个非常基本的问题,但我很感激我能得到的任何帮助。
编辑:在IE和Firefox中都有效的建议吗?
答案 0 :(得分:15)
尝试格式化这样的链接(看起来很糟糕,但它适用于Vista下的Firefox 3):
<a href="file://///SERVER/directory/file.ext">file.ext</a>
答案 1 :(得分:2)
<a href="file://server/directory/file.xlsx" target="_blank">
如果我没记错的话。
答案 2 :(得分:1)
如果文件共享未向所有人开放,则需要通过Web服务器在文件系统的后台提供文件共享。
您可以使用类似this "ASP.Net Serve File For Download" example的内容(2的归档副本)。
答案 3 :(得分:1)
您可能需要额外的“/”
<a href="file:///server/directory/file.xlsx">Click me!</a>
答案 4 :(得分:1)
如果您的Web服务器是IIS,则需要确保将新的Office 2007(我看到xlsx后缀)mime类型添加到IIS中的mime类型列表中,否则它将拒绝提供未知文件类型
以下是一个链接,告诉您如何:
答案 5 :(得分:0)
这里有一个明显的解决方案。你只需要确保链接有效并确实指向文件......
答案 6 :(得分:0)
您将不得不依赖具有正确文件关联的每个人的机器。如果您尝试在网页中从JavaScript / VBScript打开应用程序,则生成的应用程序要么自己被沙箱化(意味着权限降低),要么会有很多安全提示。
我的建议是查看SharePoint服务器。这是我们知道他们所做的事情,您可以在适当的位置进行编辑,但问题在于他们如何设法实现这一目标。我的猜测是直接与Office集成。无论哪种方式,这都不是互联网旨在做的事情,因为我假设您希望他们编辑原始文档而不是简单地创建自己的副本(这是file://
的默认行为是
因此,根据您的选择,可能会创建一个安装在所有客户端计算机上的客户端应用程序,然后响应特定的文件处理程序,该文件处理程序将在文件服务器上打开此应用程序。然后,由于所有浏览器都会将请求移交给您,因此无论谁这样做都没关系。您必须创建自己的处理程序,如fileserver://
。
答案 7 :(得分:-1)
你的第一个想法曾经是这样,但我也注意到使用Firefox做这个问题,直接尝试http://到文件 - href ='http://server/directory/file.xlsx'