我想用txt文件和html页面回复http请求。通过这种方式,客户端可以保存文件,并通过html页面查看该文件内容的摘要。
由于文件是动态生成的,我必须在服务器上使用状态管理来生成第二个请求的摘要。我想避免这种情况,并将其包装在一个响应中。
自定义ActionResult会是什么样的?
答案 0 :(得分:2)
不,多部分附件 下载(如在电子邮件中)不是 出于安全原因支持。它的 称为“偷渡式下载”。
请注意,Gmail会处理此问题 动态压缩文件。您 也应该。 http://forums.asp.net/t/1240811.aspx
我不相信任何现代浏览器都支持multipart / mixed。
答案 1 :(得分:0)
您可以参考XSLT样式表发送XML。浏览器可以进行转换并显示生成的HTML输出。
用户可以简单地执行“File-> Save as ...”来存储XML文件。
答案 2 :(得分:-1)
为什么不将摘要呈现为普通HTML视图,并在该摘要下提供指向返回二进制数据的单独ActionResult的链接...
public ActionResult SendFile(int id)
{
File file = FileRepository.GetFile(id);
byte[] fileData = file.FileData.ToArray();
return File(fileData, file.FileMimeType, file.FileName);
}
答案 3 :(得分:-1)
我对这个话题进行了一些搜索,令我惊讶的是,人们似乎已经这样做了。我找到了一个描述here,但它没有提供公共测试URI,所以我无法在此测试浏览器行为。它还提到了将归档文件发送到客户端的解决方案。但我认为这不是你想要的,对吗?
Here是另一篇展示多部分回复示例的文章。遗憾的是,演示URI似乎不再起作用了。
所以情况是这样的:可以完成HTTP多部分响应。有一些客户端(很少)库来处理应用程序代码中的那些库。浏览器行为将被测试(Here's a voice)。使用此功能似乎是实验性的,可能只建议您可以控制通信的两端以消除互操作性问题。