0

iTextSharp を使用して PDF ファイルを作成しています (C# を使用しています)。ファイルは正常に作成されています。ただし、フォルダに保存されます。リンク ボタンのクリックに応答してファイルが作成され、ファイルをフォルダーに保存するのではなく、[開く/保存] ダイアログ ボックスを表示したい。私は以下を使用します:

using(MemoryStream ms = new MemoryStream())
{
    Document doc1 = new Document();
    PdfWriter pdfw = PdfWriter.GetInstance(doc1, ms);
    doc1.open();
    string sPath = Server.MapPath("PDF/");
    string sFileName = "Something.PDF";

    // create the PDF content

    doc1.Close();
    byte[] content = ms.ToArray();
    using (FileStream fs = FileStream.Create(sPath + sFileName))
    {
        fs.Write(content, 0, (int)content.Length);
    }
}

私はこれを間違っていますか?ファイルを作成して「blahblah/PDF」フォルダに保存しますが、[開く/保存] ダイアログ bx は表示されません。

4

1 に答える 1

1

ファイルが既にある場合は、Response.TransmitFileメソッドを使用して、ユーザーのブラウザでファイルをフラッシュします。

Response.Clear(); 
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=buylist.pdf");
Response.TransmitFile(Server.MapPath("~/myfile.pdf"));
于 2013-08-23T05:00:33.667 に答える