にストリーム私は私がバイトは4GBの周りに巨大なものとし、それを書くことが心配ですが、私は私のバイト配列C#のチャンクがHTTP repsonse
byte[] bytes = viewer.LocalReport.Render("PDF", null, out mimeType,
out encoding,
out extension, out streamIds, out warnings);
Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename=" + fileName + "." + extension);
Response.BinaryWrite(bytes); // create the file
Response.Flush(); // send it to the client to download
を構築し、ここで
https://forums.asp.net/t/1556522.aspx?RDLC+Export+directly+to+Excel+or+PDF+from+codebehind
からコードを採用していますhttpレスポンスをチャンクでストリーミングする必要があります。
私は.netバージョン4.6になっています。どのようにストリームをチャンクで応答オブジェクトに書き込むことができますか? バイトが大きい場合にResponse.BinaryWrite(bytes)が死んで、それを置き換える予定があるのですがどうすればいいのでしょうか?
私の研究は、renderメソッドは、どのように私は、チャンクHTTP応答へのストリームコールバックからのデータが任意の手掛かりをオブジェクトんストリームオブジェクトに
public void Render(
string format,
string deviceInfo,
CreateStreamCallback createStream,
out Warning[] warnings
)
をレンダリングすることができますか? https://msdn.microsoft.com/en-us/library/ms252172.aspx
に連れて行ってくれましたか
PDFが4GBを超えると、それを見ている人にとって本当の問題になります;) 各チャンクでファイル読み込みチャンクをループして、BinaryWriteを実行する必要があります。 – Charlie