当我尝试在sensenet中下载文本文件时,文本文件将在浏览器中打开但未下载,您是否可以提供一些有关如何设置直接下载文本文件的建议?
答案 0 :(得分:3)
它由浏览器处理。如果它可以打开某种文件类型,那么它将显示它而不是下载。
在服务器端,如果您的http处理程序在设置响应流时使用处置,您可以强制下载网站上的文件类型:
response.AppendHeader("Content-Disposition", "attachment");
使用sensenet,您必须编写自己的http处理程序或修改SenseNetStaticFileHandler.cs的ProcessRequest。 MSDN对此主题的帮助不大,但您可以找到有关此here的一些信息。
如果您可以更改链接的html代码,则在客户端有另一种解决方案。使用html5 <a>
标记有一个download
属性,强制下载链接文件而不是浏览器导航到它。它适用于浏览器支持它。 See HTML download Attribute.