2016-11-25 1 views
2

J'ai créé une application Web pour ouvrir un fichier (que ce soit un bloc-notes, Excel, PDF, etc.) dans le répertoire local. Le fichier s'ouvre lors de son exécution dans IIS Express mais dans le serveur Web IIS local, il n'ouvre pas le fichier. J'ai les fichiers dans le projet dans Visual Studio. Essayez de créer un répertoire virtuel avec le chemin D: // chemin.L'application MVC fonctionne correctement dans IIS Express mais ne fonctionne pas dans le serveur Web IIS local

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

Attendez-vous que l'utilisateur voit ces fichiers ouverts? – Crowcoder

+0

Oui .. L'utilisateur doit ouvrir le fichier spécifié dans process.Start() –

+0

Cela ne fonctionnera pas, ils doivent télécharger le fichier. – Crowcoder

Répondre

0

Essayez d'accorder les autorisations appropriées au dossier.

+0

Créé virtuel et donné la permission de dossier pour les deux utilisateurs IIS ainsi que le pool d'applications par défaut .. rien ne fonctionne –

0

Donnez les droits appropriés à IISUser pour le dossier dans lequel vous stockez les fichiers.

Espérons que cela aiderait.

+0

J'ai vérifié et donné la permission à la fois IUSR ainsi que le pool d'applications par défaut –

0

Cela ressemble à des autorisations utilisateur, vérifiez les autorisations de sécurité définies pour D: // Path et en quoi elles diffèrent de celles qui fonctionnent. Process.Start s'exécute sur le serveur et non sur le client.