2012-02-28 2 views
0

У меня есть программа, которая создает файлы слов, excel и powerpoint. Весь мой код отлично работает на стороне клиента. Поскольку автоматизация офисных инструментов невозможна на стороне сервера, я использовал сторонние API, такие как Aspose и OfficeWriter, для создания документов. Я использовал нижеприведенный код для открытия после создания файла.Открытие файла на IIS

string paths = Server.MapPath("~/Data/" + TextBox1.Text + ".docx"); 
     Process prc = new Process(); 
     prc.StartInfo.FileName = paths; 
     prc.Start(); 

Этот код не откроет файл из IIS, даже Aspose и OfficeWriter предназначены для работы на сервере. Затем я попытался открыть файл .jpg, используя этот код в IIS. Это тоже не работает. Я думаю, что prs.start() не будет работать на IIS. Есть ли альтернативный способ открыть файл. Я не хочу открывать файл так, как если бы мы уменьшали вложение.

+0

Объясните, что означает «не работает». Вы получаете исключения? Кто они такие? Некоторое другое поведение? Что это? Что именно вы пытаетесь достичь? Что должно произойти, когда файл «открыт» в IIS? – Oded

+0

Где вы хотите открыть файл? Кажется, вы работаете над приложением ASP.NET, которое работает на сервере. Как именно вы ожидаете, что этот файл будет открыт? –

+0

Вы должны предоставить права доступа к файлам. Кроме того, «Процесс» - один из «System.Diagnostics» –

ответ

2

Ваш код пытается вызвать приложение, связанное с расширением .docx, где бы он ни запущен.

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

Возможно, вы должны использовать Response.WriteFile - это отправит файл клиенту.

 Смежные вопросы

  • Нет связанных вопросов^_^