Как открыть внешний файл из HTML

Я хочу список гиперссылок на базовой странице html, которые указывают на файлы в нашей корпоративной интрасети.

Когда пользователь нажимает на ссылку, я хочу, чтобы файл был открыт. Они представляют собой таблицы Excel, и это среда интрасети, поэтому я могу рассчитывать на всех, у кого установлен Excel.

Я пробовал две вещи:

  • Очевидная и простая вещь:
<a href="file://server/directory/file.xlsx">Click me!</a>
  1. A вариант, который я нашел в поиске Google:
<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?

Ответы

Ответ 1

Попробуйте форматировать ссылку вроде этого (выглядит адски, но она работает в Firefox 3 под Vista для меня):

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

Ответ 2

<a href="file://server/directory/file.xlsx" target="_blank">, если я правильно помню.

Ответ 3

Если общий ресурс файла не открыт для всех, вам нужно будет его загрузить в фоновом режиме из файловой системы через веб-сервер.

Вы можете использовать что-то вроде этот пример "Службы ASP.Net для загрузки" (архивная копия 2).

Ответ 4

Вам может понадобиться дополнительная опция //

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

Ответ 5

Если ваш веб-сервер является IIS, вам необходимо убедиться, что новые типы MIM-типов Office 2007 (я вижу суффикс xlsx) добавлены в список типов mime в IIS, иначе он откажется обслуживать неизвестный тип файла.

Вот одна ссылка, чтобы рассказать вам, как:

Настройка IIS 6 для Office 2007

Ответ 6

Простая ссылка на файл является очевидным решением здесь. Вам просто нужно сделать так, чтобы ссылка была действительной и что она действительно указывает на файл...

Ответ 7

Вам придется полагаться на каждую отдельную машину, имеющую правильные ассоциации файлов. Если вы попробуете и откройте приложение из JavaScript/VBScript на веб-странице, созданное приложение либо будет изолировано, либо будет изолировано (что означает уменьшенные разрешения), либо будет много подсказок безопасности.

Мое предложение - посмотреть на сервер SharePoint для этого. Это то, что мы знаем, что они делают, и вы можете редактировать на месте, но возникает вопрос, как им это удается. Я предполагаю, что это прямая интеграция с Office. В любом случае, это не то, что Интернет предназначен для работы, потому что я предполагаю, что вы хотите, чтобы они отредактировали исходный документ, а не просто создали свою собственную копию (что и было бы по умолчанию file://.

Таким образом, в зависимости от ваших параметров может быть возможно создать клиентское приложение, которое будет установлено на всех ваших клиентских компьютерах, а затем ответит на конкретный обработчик файлов, который говорит, открывать это приложение на файловом сервере. Тогда не имеет значения, кто это делает, поскольку все браузеры просто передадут вам запрос. Вам нужно будет создать свой собственный обработчик, например fileserver://.

Ответ 8

Ваша первая идея была такой, но я также заметил, что проблемы с этим использованием Firefox, попробуйте прямо http://к файлу - href= 'http://server/directory/file.xlsx