我想知道如何提示用户下载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);
}
我错过了什么吗?
答案 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);
当我遇到同样的问题时,这种方法对我有用