我想用一个 txt 文件和一个 html 页面来响应一个 http 请求。这样,客户端可以保存文件并通过 html 页面查看该文件内容的摘要。
由于文件是动态生成的,我必须使用服务器上的状态管理来生成第二个请求的摘要。我想避免这种情况并将其包含在一个响应中。
自定义 ActionResult 会是什么样子?
我想用一个 txt 文件和一个 html 页面来响应一个 http 请求。这样,客户端可以保存文件并通过 html 页面查看该文件内容的摘要。
由于文件是动态生成的,我必须使用服务器上的状态管理来生成第二个请求的摘要。我想避免这种情况并将其包含在一个响应中。
自定义 ActionResult 会是什么样子?
我是这样回答的:
不,出于安全原因,不支持用于下载的多部分附件(如电子邮件中的附件)。它被称为“路过式下载”。
请注意,Gmail 通过动态压缩文件来处理此问题。你也应该。 http://forums.asp.net/t/1240811.aspx
我不相信任何现代浏览器都支持多部分/混合。
您可以参考 XSLT 样式表发送 XML。浏览器可以进行转换并显示生成的 HTML 输出。
用户可以简单地执行“文件->另存为...”来存储 XML 文件。
为什么不将摘要呈现为普通的 HTML 视图,并在该摘要下提供一个链接,该链接指向返回二进制数据的单独 ActionResult...
public ActionResult SendFile(int id)
{
File file = FileRepository.GetFile(id);
byte[] fileData = file.FileData.ToArray();
return File(fileData, file.FileMimeType, file.FileName);
}