ASP.NET MVC 应用程序是否可以从 Web 服务器上其他位置的文件夹中读取文件?
Is it possible for an ASP.NET MVC application to read files from a folder elsewhere on the web server?
我有一个 ASP.NET MVC 网络应用程序位于 c:\inetpub\sites\website
在其中,我可以选择下载 PDF 文件。
PDF 文件存储在别处,例如c:\data\pdffiles
如果我使用
设置了正确的权限,我可以从我的网络应用程序中的 c:\data\pdffiles 文件夹中读取吗
IIS APPPOOL{应用程序池名称}
此致
是的,您可以从 ASP.NET MVC 控制器操作中执行此操作,如下所示:
public FileResult Download()
{
string filePath = @"c:\data\pdffiles\doc.pdf";
byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
string fileName = Path.GetFileName(filePath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
甚至更短 - 如果您不想在下载时覆盖文件名。
public FileResult Download()
{
string filePath = @"c:\data\pdffiles\doc.pdf";
return File(filePath, MimeMapping.GetMimeMapping(filePath));
}
如果您需要自定义 MIME 类型,请参阅此答案:
你可以的。为此,您需要在 IIS 中创建虚拟直接到您的网站,然后您可以使用该虚拟直接,您可以将其映射到项目文件夹以外的文件夹
我有一个 ASP.NET MVC 网络应用程序位于 c:\inetpub\sites\website
在其中,我可以选择下载 PDF 文件。
PDF 文件存储在别处,例如c:\data\pdffiles
如果我使用
设置了正确的权限,我可以从我的网络应用程序中的 c:\data\pdffiles 文件夹中读取吗IIS APPPOOL{应用程序池名称}
此致
是的,您可以从 ASP.NET MVC 控制器操作中执行此操作,如下所示:
public FileResult Download()
{
string filePath = @"c:\data\pdffiles\doc.pdf";
byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
string fileName = Path.GetFileName(filePath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
甚至更短 - 如果您不想在下载时覆盖文件名。
public FileResult Download()
{
string filePath = @"c:\data\pdffiles\doc.pdf";
return File(filePath, MimeMapping.GetMimeMapping(filePath));
}
如果您需要自定义 MIME 类型,请参阅此答案:
你可以的。为此,您需要在 IIS 中创建虚拟直接到您的网站,然后您可以使用该虚拟直接,您可以将其映射到项目文件夹以外的文件夹