我在ASP.NET中使用C#有一个Web应用程序,我在打开一些PDF时遇到了问题。
代码查找选定的ID并提取与该ID相关联的pdf路径。返回的路径正在工作,并且是正确的。出于某种原因,当我在浏览器中打开时,它说文件已损坏且无法修复,但是当我在adobe中打开它时,一切都很完美。
这是我的代码:
string id;
string path;
DataTable dt = Session["UnmatchedItems"] as DataTable;
ASPxButton button = (ASPxButton)sender;
id = button.CommandName;
DataView dv = new DataView(dt);
dv.RowFilter = "id = " + id;
path = dv[0][2].ToString();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=" + path);
Response.WriteFile(path);
不确定发生了什么或为什么不会打开...
如果我忘了或需要更多信息,请告诉我们!
答案 0 :(得分:1)
这对我有用:
byte[] fileContents = System.IO.File.ReadAllBytes(Server.MapPath("~/" + pathToFile));
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.OutputStream.Write(fileContents, 0, fileContents.Length);