如何在IIS 7.5中允许任何文件下载

时间:2014-12-24 05:54:03

标签: c# asp.net http iis

我正在开发一个通过HTTP下载任何类型文件的应用程序。我已在本地系统中配置IIS进行测试。我添加了一个用于文件共享的虚拟目录。之前我收到了500个内部服务器错误的文件下载。

然后我添加了一种MIMI类型。*。但它能够下载带扩展名的文件。我有一些f iles,文件名后没有扩展名,甚至没有点。对于这些文件,我收到 404.17未找到错误。

当我请求文件下载时,它会尝试打开而不是下载。示例包括网页(html,xml,aspx png等)。对于这些文件类型,我发现在http请求(应用程序/八位字节流)中设置内容类型将使文件下载。同样在IIS中我将所有文件设置为正确的MIMI类型。

但为此我要使用POST请求。但是如果我使用POST,我将不允许 405方法

我已尝试过所有解决方案,但没有成功。

请在我出错的地方帮助我。

如果您有任何正确的IIS配置文件或任何链接,请告诉我。

4 个答案:

答案 0 :(得分:1)

可下载文件的标准由MIME类型application/octet-stream表示 因此,您只需将响应的MIME类型设置为以下内容:

yourHttpResponse.ContentType = "application/octet-stream";

当任何浏览器遇到这种MIME类型时,它会将该文件作为字节流下载。

答案 1 :(得分:0)

无需注册MIME类型 您可以创建一个代理aspx网页(Download.aspx)进行文件下载,只需将文件发送给客户端。

在该页面的加载事件中写下:

Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-disposition",
"inline;filename=test.pdf");
Response.WriteFile(file);
Response.Flush();
Response.End();

http://www.dotnetperls.com/response-writefile

答案 2 :(得分:0)

我认为您可以通过使用通配符mime类型映射来允许此操作。有关详细信息,请参阅以下链接链接;

http://forums.iis.net/t/1158023.aspx?How+can+I+configure+an+IIS+site+to+allow+any+file+type+to+be+downloaded+

MIME types missing in IIS 7 for ASP.NET - 404.17

答案 3 :(得分:0)

我认为你需要添加特定的mime类型来下载文件。在第一阶段,您需要从浏览器中搜索要从中下载文件的URL。如果它顺利,那么你应该检查你的代码问题必须在那里。

如果文件没有下载。那么你需要向IIS添加一个mime类型。为了点击添加填充文件扩展名,例如“.db”,然后将mime类型填入“文件/下载”,您将获得该文件的下载。