ASP.. NET MVC 3文件下载:不工作在IE8



我有一个下载,它只提供一个来自本地文件系统的静态zip文件,适用于Chrome和Firefox,但不适用于IE8。

网站在本地主机上运行SSL,但我在IE中得到以下错误信息。

无法从本地主机下载。

无法打开此Internet站点。请求的站点是不可用或无法找到。请稍后再试。

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));
}

这是我最终成功的方法。在我的例子中,onactionexecute上有一个全局ActionFilter,它将cache-control设置为no-cache。

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";
    }
}

下列问题中的信息应该可以帮助你…

Struts应用程序-无法在IE上通过https下载文件

相关内容

  • 没有找到相关文章

最新更新