即使使用Content-Disposition Set,XmlDocument下载的扩展名也不正确

时间:2016-02-12 08:28:02

标签: c# .net download xmldocument memorystream

我正在使用似乎是使用内存流将XmlDocument下载到浏览器的非常标准的方法:

<Image Grid.Row="1" Source="{Binding uriImageSource}" Name="imageViewer"></Image>

所有似乎都运行良好,除了文件没有指定的名称或扩展名...它以与此代码运行的.apsx.cs对应的.apsx页面命名。

在某些方面与此案非常相似:

Change name of file sent to client?

虽然我正在使用内存流并处理XML,并且已经设置了Content-Disposition,因此给定的修复程序在这里不起作用(除非我以某种方式做错了吗?)

我已经能够在浏览器中打开XML Document了,但我认为必须能够在这里获得正确的文件名和扩展名。

我尝试将ContentType更改为&#34; text / xml&#34;,并尝试使用和不使用&#34;附件;&#34;在Content-Disposition标头的filename参数之前。

如果我可以提供更多代码或查看任何内容,请告知我们。

1 个答案:

答案 0 :(得分:2)

为了解决这个问题,我建议采取以下步骤(那些对我有用的):

  • 删除:标题名称中的冒号Content-Disposition
  • attachment标头值中使用Content-Disposition
  • 将内容类型更改为text/xml

示例:

HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=samplefile.xml");
// ...
HttpContext.Current.Response.ContentType = "text/xml";