如何将本地pdf文件返回浏览器以使用asp.net mvc保存或打开

时间:2015-09-19 00:30:49

标签: asp.net-mvc

我想知道如何提示用户下载pdf文件。

我有以下代码,但它没有返回任何内容。

public ActionResult DownloadAssetClassGuide()
{
    string folder = @"C:\NewFolder";
    string file = "xyz.pdf";

    string fullPath = Path.Combine(folder, file);

    byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);

    return File(fileBytes, "application/pdf", file);
}
我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

首先应将文件或文件夹的任何路径映射到服务器,因为您使用的是虚拟路径。尝试首先使用路径映射到服务器 HttpContext.Current.Server.MapPath

FileInfo fInfo = new FileInfo(Server.MapPath(fullPath));
FileStream fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(fileStream);
byte[] fileBytes = reader.ReadBytes((int)fInfo.Length);

当我遇到同样的问题时,这种方法对我有用