在Visual Studio 2015上運行項目時,當我嘗試閱讀PDF時,它給了我以下錯誤;System.IO.File.ReadAllBytes訪問被拒絕的路徑
訪問路徑'E:\ FILE \ FILEUPLOAD \ InnerFile \ File'被拒絕。
功能界定及
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);
注:
- 給予充分的權限用戶
- 物理文件存在
我不明白該怎麼做,請幫忙!
不要在處理像這樣的路徑時使用字符串連接,新的FileInfo(PDFUploadRootPath + innerPath +「/PDF.pdf」);使用Path.Combine'''。我看到你有正斜槓'''''''不反斜槓 - 假設你在Windows上運行,它是不合適的路徑分隔符。 –
是m在Windows上運行它...檢查'fi.Exists'時找到文件。所以它的路徑沒有問題,在閱讀@MarcinZablocki時給出錯誤 –
如果你的意圖是從路徑「PDFUploadRootPath + innerPath +」/PDF.pdf「'''讀取文件,那麼你不這樣做在下一行:'''System.IO.File.ReadAllBytes(PDFUploadRootPath + innerPath)'''。 –