ストリーミングを開始MVC.NETそれ私はのThread.sleepを追加ストリームのzipファイルには、私は継続的にユーザーのダウンロードとしてzipファイルをストリーミングする方法を作成しようとしている
(無駄なストリーミングが存在しないように)待ち時間をシミュレートする
public override void ExecuteResult(ControllerContext context) {
HttpResponseBase response = context.HttpContext.Response;
response.Clear();
response.ClearContent();
response.ClearHeaders();
response.Cookies.Clear();
response.ContentType = ContentType;
response.ContentEncoding = Encoding.Default;
response.AddHeader("Content-Type", ContentType);
context.HttpContext.Response.AddHeader("Content-Disposition",
String.Format("attachment; filename={0}",
this.DownloadName));
int ind = 0;
using (ZipOutputStream zipOStream =
new ZipOutputStream(context.HttpContext.Response.OutputStream))
{
foreach (var file in FilesToZip)
{
ZipEntry entry = new ZipEntry(FilesToZipNames[ind++]);
zipOStream.PutNextEntry(entry);
Thread.Sleep(1000);
zipOStream.Write(file, 0, file.Length);
zipOStream.Flush();
}
zipOStream.Finish();
}
response.OutputStream.Flush();
}
すべてのファイルが圧縮されるまで、zipがストリーミングを開始しないようです。継続的にストリームする方法はありますか?多分別の図書館で?
ありがとうございました。 – maxfridbe