ブラウザを作成したファイルにリダイレクトする代わりに、自分でHttpHandlerを使用してファイルを提供することができます。その後、ファイルを提供した直後にファイルを削除することもできますし、メモリ内にファイルを作成することもできます。
クライアントに直接PDFファイルを書く:
public class MyHandler : IHttpHandler {
public void ProcessRequest(System.Web.HttpContext context) {
context.Response.ContentType = "application/pdf";
// ...
PdfWriter.getInstance(document, context.Response.OutputStream);
// ...
か、既に生成されたファイル 'ファイル名' を読んで、それを削除し、ファイルを提供:
context.Response.Buffer = false;
context.Response.BufferOutput = false;
context.Response.ContentType = "application/pdf";
Stream outstream = context.Response.OutputStream;
FileStream instream =
new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[BUFFER_SIZE];
int len;
while ((len = instream.Read(buffer, 0, BUFFER_SIZE)) > 0) {
outstream.Write(buffer, 0, len);
}
outstream.Flush();
instream.Close();
// served the file -> now delete it
File.Delete(filename);
私は試していませんこのコード。これは...私はそれが仕事だと思うどれだけf3lixの答えに触発さ
あなたはこの一意の名前のPDFファイルのための要求は200のコードを添えたことを確認し、その時点でそれを享受でき;しかし、あなたの初期のソリューションは「十分に良い」と聞きます。あなたの現在のソリューションがなぜ機能していないのかアドバイスできますか?もっと良いソリューションを提案できますか? –