Что нам помогло, так это загрузить документ на локальную рабочую станцию. Храните его где-нибудь в пути к личным папкам пользователя. Дисплей с использованием программного обеспечения, установленного в системе.
Получить путь к личной папке, используя это:
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
Загрузите нужный файл по этому пути.
Затем выложите в файл что-то вроде этого:
if (File.Exists(fullLocalDocumentPath) == true)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = fullLocalDocumentPath;
proc.Start();
}
При этом будет использоваться программа, сконфигурированная ОС (на основе расширения файла), чтобы открыть файл и отобразить его. Это не идеальное решение, но оно работает для нас и может соответствовать вашим потребностям.
Предостережения:
Будут отображаться только файлы с расширениями, сопоставленными с приложениями.
Открывает копию приложения для отображения файла.
Вы должны предоставить некоторый механизм для очистки файлов загрузки из личной папки
.
Расширения файлов, которые часто «просто работают», используя эту технику:
* .doc, * .docx, * .xls, .xlsx (docx и xlsx - Office 2007 и более поздние версии)
.pdf (у всех это установлено, верно?)
.xps (будет работать, если установлен .NET, если запущена программа .NET, это не будет проблемой)
.txt
Мог бы работать:
* .pptx (требуется точка питания)
Работайте, только если у вас установлено специальное программное обеспечение:
Файлы Visio, Autocad и т. Д. ...
Это может работать, даже если у пользователя не установлен Office. Пользователю просто нужно установить бесплатные приложения для чтения ридеров от MS.