0

これは、PDF ドキュメントをダウンロードするための私のコードです。

string attachment = "attachment; filename=Contacts.pdf";

Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/pdf";

StringWriter sw = new StringWriter();

HtmlTextWriter htw = new HtmlTextWriter(sw);
HtmlForm frm = new HtmlForm();
datalist1.Parent.Controls.Add(frm);

frm.Attributes["runat"] = "server";

frm.Controls.Add(datalist1);
frm.RenderControl(htw);

Response.Write(sw.ToString());
Response.End();

エクセルでの作業です。PDF でダウンロード中に、次のエラーが表示されます。

(アドビ リーダーは、サポートされているファイル タイプではないか、ファイルが破損しているため、「fileName.pdf」を開くことができませんでした (たとえば、電子メールの添付ファイルとして送信され、正しくデコードされませんでした))

4

1 に答える 1

0

パススルー ASPX フォームを介して DB から:

try
{
    string selectQuery = 
        "SELECT Contact FROM dbo.Contacts WHERE dbo.Contacts.ContactID=" 
            + contactID.ToString();

    conn = new SqlConnection(CONN);
    SqlCommand cmd = new SqlCommand(selectQuery, conn);

    conn.Open();
    dr = cmd.ExecuteReader();

    dr.Read();
    context.Response.ContentType = "Application/pdf";
    context.Response.Headers.Add("Content-Disposition", 
        "attachment; filename=Contacts.pdf");
    context.Response.BinaryWrite((Byte[])dr[0]);
}
catch (Exception ex)
{
    // Display friendly message
    // Log and report error
}
finally
{
    dr.Close();
    conn.Dispose();
}
于 2012-10-12T07:03:09.183 に答える