在ASP.NET中恢复下载

时间:2014-08-20 18:44:54

标签: asp.net download

我按照MSDN example

在ASP.NET中实现了简历下载功能

但是,我做了一些改变:

  • 在上述示例中,HTML页面上的“下载”按钮发出GET请求。 ASPX页面上的“我的下载”按钮发出了POST请求。

  • 而不是处理程序页面DownloadHttpHandler.ashx.vb,我有Download.aspx.vb,这将调用DownloadFile.vb中的相应函数。

问题是在Internet Explorer 10中没有恢复下载。在仔细检查请求后,我发现ASPX页面上的“下载”按钮发出了POST请求。但是,如前所述,HTML页面上的“下载”按钮发出GET请求。

为了进一步确认GET / POST是否有任何区别,我将GET更改为POST(在原始MSDN示例中)。这是我做的唯一改变。正如预期的那样,下载不会在Internet Explorer中恢复。

在搜索类似问题时,我找到了this示例。即使在这里,也只允许GET / HEAD请求,并且明确不允许所有其他类型(如POST)。

所以,如果我没错,只支持GET请求。为什么呢?

1 个答案:

答案 0 :(得分:0)

在您引用的代码中,原始帖子仅使用GET或HEAD请求所需的逻辑。通常,您可以使用

request.HttpMethod

检查POST,GET,DELETE,PUT等请求。

为了解有关标题的更多信息,我建议this

我还建议通过this来了解一般的HttpMethod。