我正在开发一个通过HTTP下载任何类型文件的应用程序。我已在本地系统中配置IIS进行测试。我添加了一个用于文件共享的虚拟目录。之前我收到了500个内部服务器错误的文件下载。
然后我添加了一种MIMI类型。*。但它能够下载带扩展名的文件。我有一些f iles,文件名后没有扩展名,甚至没有点。对于这些文件,我收到 404.17未找到错误。
当我请求文件下载时,它会尝试打开而不是下载。示例包括网页(html,xml,aspx png等)。对于这些文件类型,我发现在http请求(应用程序/八位字节流)中设置内容类型将使文件下载。同样在IIS中我将所有文件设置为正确的MIMI类型。
但为此我要使用POST请求。但是如果我使用POST,我将不允许 405方法。
我已尝试过所有解决方案,但没有成功。
请在我出错的地方帮助我。
如果您有任何正确的IIS配置文件或任何链接,请告诉我。
答案 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();
答案 2 :(得分:0)
我认为您可以通过使用通配符mime类型映射来允许此操作。有关详细信息,请参阅以下链接链接;
答案 3 :(得分:0)
我认为你需要添加特定的mime类型来下载文件。在第一阶段,您需要从浏览器中搜索要从中下载文件的URL。如果它顺利,那么你应该检查你的代码问题必须在那里。
如果文件没有下载。那么你需要向IIS添加一个mime类型。为了点击添加填充文件扩展名,例如“.db”,然后将mime类型填入“文件/下载”,您将获得该文件的下载。