0

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

何が起こっているのか、なぜ開かないのかわかりません...

私が何かを忘れた場合、またはさらに情報が必要な場合は、お知らせください。

4

1 に答える 1

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);
于 2013-09-25T15:47:51.793 に答える