下载文件时 HTTP 处理程序错误 - SSL

发布于 2024-08-30 08:35:44 字数 1545 浏览 3 评论 0原文

好吧,这是个大问题,因为这影响了我们新服务器上的两个项目。我们有一个由用户下载的文件,该文件是使用 HTTPHandler 下载的。自从将站点移至服务器并设置 SSL 后,下载已停止工作,并且我们收到错误消息“无法从站点下载 DownloadDocument.ashx”。DownloadDocument.ashx 是在 web.config 中设置的处理程序页面,按钮,其中有一个以文档 ID 作为查询字符串的超链接,我已阅读 http: //support.microsoft.com/kb/316431 并阅读了该网站上的一些其他请求,但似乎没有任何效果。这个问题只发生在 IE 中,当我在服务器上以 http 运行它时,效果很好。上面

      public override void HandleRequest(HttpContext context)
    {
        Guid guid = new Guid(context.Request.QueryString["ID"]);

        DataTable dt = Documents.GetDocument(guid);
        if (dt != null)
        {
            context.Response.Cache.SetCacheability(HttpCacheability.Private);

            context.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", dt.Rows[0]["DocumentName"].ToString()));
            context.Response.AddHeader("Content-Transfer-Encoding", "binary");
            context.Response.AddHeader("Content-Length", ((byte[])dt.Rows[0]["Document"]).Length.ToString());
            context.Response.ContentType = string.Format("application/{0}", dt.Rows[0]["Extension"].ToString().Remove(0, 1));

            context.Response.Buffer = true;

            context.Response.BinaryWrite((byte[])dt.Rows[0]["Document"]);
            context.Response.Flush();
            context.Response.End();
        }
    }

是我当前的请求代码。 >http://haacked.com/archive/2005/03/17/AnAbstractBoilerplateHttpHandler.aspx。 关于这可能是什么以及我们如何解决它的任何想法。

预先感谢所有回复。

Ok big problem as this is affecting two projects on our new server. We have a file that is downloaded by users, the files are downloaded using a HTTPHandler. Since moving the site to the server and setting SSL the downloads have stopped working and we get an error message "Unable to download DownloadDocument.ashx" from site". DownloadDocument.ashx is the handler page that is set in the web.config and the button that goes there is a hyperlink with the id of the document as a querystring. Ive read the article on http://support.microsoft.com/kb/316431 and read a few other requests on this site but nothing seems to be working. This problem only happens in IE and works fine when I run it on the server in http instead of https.

      public override void HandleRequest(HttpContext context)
    {
        Guid guid = new Guid(context.Request.QueryString["ID"]);

        DataTable dt = Documents.GetDocument(guid);
        if (dt != null)
        {
            context.Response.Cache.SetCacheability(HttpCacheability.Private);

            context.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", dt.Rows[0]["DocumentName"].ToString()));
            context.Response.AddHeader("Content-Transfer-Encoding", "binary");
            context.Response.AddHeader("Content-Length", ((byte[])dt.Rows[0]["Document"]).Length.ToString());
            context.Response.ContentType = string.Format("application/{0}", dt.Rows[0]["Extension"].ToString().Remove(0, 1));

            context.Response.Buffer = true;

            context.Response.BinaryWrite((byte[])dt.Rows[0]["Document"]);
            context.Response.Flush();
            context.Response.End();
        }
    }

The above is my current code for the request. Ive used the base handler on http://haacked.com/archive/2005/03/17/AnAbstractBoilerplateHttpHandler.aspx.
Any ideas on what this might be and how we can fix it.

Thanks in advance for all responses.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文