2016-11-25 4 views
2

Я создал веб-приложение, чтобы открыть файл (как блокнот, excel, PDF и т. Д.) В локальном каталоге. Файл открывается при запуске в IIS Express, но на локальном веб-сервере IIS он не открывает файл.Приложение MVC отлично работает в IIS Express, но не работает на локальном веб-сервере IIS

У меня есть файлы внутри проекта в Visual studio.

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"D:// Path "); 

IEnumerable<System.IO.FileInfo> fileList = dir.GetFiles("*.*"); 
var newestFile = 
    (from file in fileList 
    //where file.Contains(para) 
    orderby file.CreationTime 
    where file.FullName.Contains(para) 
    select new { file.FullName, file.CreationTime }) 
    .Last(); 

Process.Start(newestFile.FullName); 

return ""; 
+2

Process.Start запускается на сервере, а не на клиенте. Ожидаете ли вы, что пользователь откроет эти файлы? – Crowcoder

+0

Да. Пользователь должен открыть указанный файл в файле process.Start() –

+0

Это не сработает, они должны загрузить файл. – Crowcoder

ответ

0

Попробуйте создать виртуальный каталог с пуском D: // Путь. Попробуйте предоставить соответствующие разрешения для этой папки.

+0

Создано виртуальное и предоставленное разрешение для папки как для пользователя IIS, так и для пула приложений по умолчанию. Ничего не работает –

0

Предоставьте правильное разрешение IISUser для папки, в которой вы храните файлы.

Надеюсь, это поможет.

+0

Я проверил и дал разрешение на оба IUSR а также пул приложений по умолчанию –

0

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

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