Ответ 1
Попробуйте форматировать ссылку вроде этого (выглядит адски, но она работает в Firefox 3 под Vista для меня):
<a href="file://///SERVER/directory/file.ext">file.ext</a>
Я хочу список гиперссылок на базовой странице 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?
Попробуйте форматировать ссылку вроде этого (выглядит адски, но она работает в Firefox 3 под Vista для меня):
<a href="file://///SERVER/directory/file.ext">file.ext</a>
<a href="file://server/directory/file.xlsx" target="_blank">
, если я правильно помню.
Если общий ресурс файла не открыт для всех, вам нужно будет его загрузить в фоновом режиме из файловой системы через веб-сервер.
Вы можете использовать что-то вроде этот пример "Службы ASP.Net для загрузки" (архивная копия 2).
Вам может понадобиться дополнительная опция //
<a href="file:///server/directory/file.xlsx">Click me!</a>
Если ваш веб-сервер является IIS, вам необходимо убедиться, что новые типы MIM-типов Office 2007 (я вижу суффикс xlsx) добавлены в список типов mime в IIS, иначе он откажется обслуживать неизвестный тип файла.
Вот одна ссылка, чтобы рассказать вам, как:
Простая ссылка на файл является очевидным решением здесь. Вам просто нужно сделать так, чтобы ссылка была действительной и что она действительно указывает на файл...
Вам придется полагаться на каждую отдельную машину, имеющую правильные ассоциации файлов. Если вы попробуете и откройте приложение из JavaScript/VBScript на веб-странице, созданное приложение либо будет изолировано, либо будет изолировано (что означает уменьшенные разрешения), либо будет много подсказок безопасности.
Мое предложение - посмотреть на сервер SharePoint для этого. Это то, что мы знаем, что они делают, и вы можете редактировать на месте, но возникает вопрос, как им это удается. Я предполагаю, что это прямая интеграция с Office. В любом случае, это не то, что Интернет предназначен для работы, потому что я предполагаю, что вы хотите, чтобы они отредактировали исходный документ, а не просто создали свою собственную копию (что и было бы по умолчанию file://
.
Таким образом, в зависимости от ваших параметров может быть возможно создать клиентское приложение, которое будет установлено на всех ваших клиентских компьютерах, а затем ответит на конкретный обработчик файлов, который говорит, открывать это приложение на файловом сервере. Тогда не имеет значения, кто это делает, поскольку все браузеры просто передадут вам запрос. Вам нужно будет создать свой собственный обработчик, например fileserver://
.
Ваша первая идея была такой, но я также заметил, что проблемы с этим использованием Firefox, попробуйте прямо http://к файлу - href= 'http://server/directory/file.xlsx