2008-09-19 107 views
13

我想要一个基本html页面上的超链接列表,这个列表指向我们企业内部网上的文件。如何从HTML打开外部文件

当用户点击链接时,我想打开该文件。 他们擅长电子表格,这是一个Intranet环境,所以我可以指望每个安装了Excel的人。

我已经试过两件事情:

  1. 明显和简单的事情:
<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

    到底是什么问题?这些似乎都像他们应该工作(当然,我不知道很多VBScript,但它假设该代码是正确的...)。 – Asmor 2008-09-19 12:50:33

    回答

    13

    尝试格式化这样的链接(看起来地狱般的,但它在Firefox 3中工作在Vista下对我来说):

    <a href="file://///SERVER/directory/file.ext">file.ext</a> 
    
    2

    <a href="file://server/directory/file.xlsx" target="_blank">如果我没记错的话。

    +0

    在IE中工作,但不是Firefox。去尝试通过typemismatch的建议。 – JosephStyons 2008-09-19 12:53:50

    -1

    使用你的第一个想法是的方式,但我也注意到这样使用Firefox浏览器的问题,尝试了直HTTP://到文件 - HREF =“http://server/directory/file.xlsx

    +0

    不适用于IE或Firefox。 – JosephStyons 2008-09-19 12:55:12

    +2

    http://是一个不同的协议 – jitidea 2014-12-12 13:51:43

    0

    一个简单的链接到文件这里是明显的解决方案。你只需要确保链接是有效的,它确实指向一个文件...

    +0

    我同意。那么如何在HTML中实现这样一个简单的链接呢? – JosephStyons 2008-09-19 13:02:17

    1

    如果文件共享不是向所有人开放的,你需要通过文件系统的后台Web服务器。

    您可以使用类似this "ASP.Net Serve File For Download" example(存档副本2)。

    +0

    在这种情况下,认证在他们到达这个网页之前就已经完成了。任何来到这里的人都应该可以访问这些文件,并访问它们存储的目录。我真的想保持简单。 – JosephStyons 2008-09-19 12:57:01

    1

    您可能需要一个额外的“/”

    <a href="file:///server/directory/file.xlsx">Click me!</a> 
    
    +0

    尝试不成功。 – JosephStyons 2008-09-19 13:02:55

    1

    如果你的Web服务器IIS,你需要确保新的Office 2007(我看XLSX后缀)的MIME类型添加到列表IIS中的MIME类型,否则它将拒绝提供未知文件类型。

    这里有一个链接,告诉你如何:

    Configuring IIS 6 for Office 2007

    0

    你将不得不依赖每个人有正确的文件关联的机器。如果您尝试从网页中的JavaScript/VBScript中打开应用程序,则衍生的应用程序要么自己被沙箱化(意味着权限下降),要么会有很多安全提示。

    我的建议是看这个SharePoint服务器。这是我们知道他们所做的事情,您可以对其进行编辑,但问题在于他们如何解决这个问题。我的猜测是直接与Office整合。无论哪种方式,这是不是说互联网是专门做的,因为我假设你希望他们编辑的原始文件,而不是简单地创建自己的拷贝(这是file://默认行为是什么。

    所以,这取决于你的选择,有可能创建一个大干快上所有的客户端机器上安装一个客户端应用程序,然后回应,说去打开文件服务器上该应用程序特定的文件句柄。那就不是真正的问题是谁在这么做,因为所有的浏览器将简单的手离开请求你,你就必须创建自己的处理程序一样fileserver://