0

だから私は自分のサーバーにPDFファイルを持っているので、それを開くことができ、うまく見えます。

次に、このコードでファイルを提供しようとします

Response.ContentType = "Application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=Filename.pdf");
Response.TransmitFile("C:\\Temp\\Filename.pdf");
Response.End();

これによりファイルが提供され、クライアントに保存されますが、問題は、この新しいファイルが元のファイルよりも約 .05Mb 大きく、開こうとすると PDF が破損することです。

何か案は?

4

1 に答える 1

0

コードが機能するはずです。ファイルのダウンロードに Ajax を使用していることを確認してください。

フラッシュを使用して終了前に閉じることができます。

Response.ContentType = "Application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=Filename.pdf");
Response.TransmitFile("C:\\Temp\\Filename.pdf");
Response.Flush();
Response.Close();
Response.End();

それでもうまくいかない場合は、BinaryWrite を試すことができます。唯一の欠点は、クライアントに送信する前にファイルをメモリにロードするため、大きなファイルではうまく機能しないことです。

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=Filename.pdf"));
Response.BinaryWrite(File.ReadAllBytes("C:\\Temp\\Filename.pdf"));
Response.End();
于 2013-08-22T22:45:29.827 に答える