我的PDF在Adobe中打开,但不是通过我的浏览器打开

时间:2013-09-25 15:41:01

标签: c# asp.net http events pdf

我在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);

不确定发生了什么或为什么不会打开...

如果我忘了或需要更多信息,请告诉我们!

1 个答案:

答案 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);