2

Chrome と Firefox では動作しますが、IE8 では動作しないローカル ファイル システムから静的 zip ファイルを提供するだけのダウンロードがあります。

Web サイトは SSL を使用して localhost で実行されていますが、IE で次のエラー メッセージが表示されます。

localhost から Download/ をダウンロードできません。

このインターネット サイトを開くことができません。要求されたサイトは利用できないか、見つかりません。後でもう一度やり直してください。

public ActionResult Download(long batchID)
{
    var batchFilePath = string.Format(BatchOrderReportsFolder + "\\Batch-{0}\\Batch-{0}.zip", batchID);
    if (!System.IO.File.Exists(batchFilePath)) {
        return RedirectToAction("Index", "Error");
    }

    return File(batchFilePath, "application/zip", Path.GetFileName(batchFilePath));
}
4

2 に答える 2

2

これが最終的に私のために働いたものです。私の場合、キャッシュ制御を「キャッシュなし」に設定していた OnActionExecuted にグローバル ActionFilter がありました。

protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
    base.OnActionExecuted(filterContext);
     var browserInfo = Request.Browser.Browser;
    if (filterContext.Result is FileResult) {
        filterContext.HttpContext.Response.CacheControl = browserInfo == "IE" ? "private" : "no-cache";
    }
}
于 2013-05-30T22:35:08.867 に答える