Ich führe das Projekt auf dem Visual Studio 2015, als ich versuchte, die PDF zu lesen, gibt es mir den folgenden Fehler;System.IO.File.ReadAllBytes Zugriff auf den Pfad verweigert
Der Zugriff auf den Pfad 'E: \ FILE \ FILEUPLOAD \ InnerFile \ File' wird verweigert.
Funktion Defination
var cd = new System.Net.Mime.ContentDisposition { FileName = "PDF.pdf", Inline = true };
string contentType = MimeMapping.GetMimeMapping("PDF.pdf");
Response.AppendHeader("Content-Disposition", cd.ToString());
var innerPath = "InnerFile/File" ;
FileInfo fi = new FileInfo(PDFUploadRootPath + innerPath + "/PDF.pdf");
byte[] bytes = System.IO.File.ReadAllBytes(PDFUploadRootPath + innerPath);
return File(bytes, contentType);
HINWEIS:
- Volle Erlaubnis Benutzer gegeben
- Körperlich Datei vorhanden
Ich verstehe nicht, was jetzt zu tun ist, bitte helfen!
Verwenden Sie keine String-Verkettung, wenn Sie mit Pfaden wie diesem '' 'new FileInfo (PDFUploadRootPath + innerPfad +" /PDF.pdf ") arbeiten;' '', verwenden Sie '' '' Path.Combine'''. Ich sehe, dass Sie Schrägstrich '' '/' '' nicht Backslash haben - vorausgesetzt, Sie laufen auf Windows, ist es ein falsches Trennzeichen. –
Ja, m läuft es unter Windows ... Datei wird gefunden, wenn 'fi.Exists' aktiviert ist. Es ist also kein Problem mit dem Pfad, der den Fehler beim Lesen von @MarcinZablocki gibt. –
Wenn Sie die Datei aus dem Pfad '' 'PDFUploadRootPath + innerPath +" /PDF.pdf "' '' lesen wollen, tun Sie das nicht in der nächsten Zeile: '' 'System.IO.File.ReadAllBytes (PDFUploadRootPath + innerPath)' ''. –