0
ブラウザでリンクをクリックするとPDFを開くようにしようとしています。実際にはDBからBLOBです。しかし、私はエラーを取得しています。ファイルは、「PDF-」asp.netエラー:ファイルが 'pdf-' asp.netで始まらない
これは私が使用していたコードであると始まらない、
if (dt.Rows.Count > 0)
{
string strExtenstion = dt.Rows[0]["DGN0101FILE_EXTENSION"].ToString();
byte[] bytFile = (byte[])dt.Rows[0]["DGN0101FILE"];
string fileName = dt.Rows[0]["DGN0101FILE_NAME"].ToString();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
if (strExtenstion == ".doc" || strExtenstion == ".docx")
{
Response.ContentType = "application/vnd.ms-word";
}
else if (strExtenstion == ".xls" || strExtenstion == ".xlsx")
{
Response.ContentType = "application/vnd.ms-excel";
}
else if (strExtenstion == ".pdf")
{
Response.ContentType = "application/pdf";
}
Response.AddHeader("Content-Length", bytFile.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.BinaryWrite(bytFile);
Response.Flush();
Response.End();
Response.Clear();
}
どこがエラーになりますか?コード内に(もしそうなら、どの行に)?または、コードの実行が終了した後、クライアントのPDFリーダーで? – David
@David、コードを実行した後にこのエラーが発生する実際にPDFを開くか保存するダイアログボックスが表示されます。私が開いたときに私にエラーが表示されます:ファイルは 'pdf-' asp.netで始まらない – Anuya
それはPDFファイルではないようです。コードが終了し、データがバイトごとにクライアントに転送されると、それは設計どおりに動作します。これまでの情報では、問題のバイトストリームが有効なPDFファイルではない可能性が高いです。 (つまり、PDFリーダーが有効なPDFファイルを識別するために使用するファイルヘッダーは含まれていません)。さまざまなアプリケーションで開いたり、メモ帳などで調べたりして有用なヘッダー情報があるかどうかを調べる価値があります。 – David