我有一个我在C#中生成的XML文档,我想通过WCF/REST返回字符串/文档,因此浏览器将下载。我应该使用的操作合同/返回类型是什么?以及如何通过JavaScript和浏览器来提示它。
您的操作合同不应是一种方式,您应该返回Stream
[OperationContract(IsOneWay = false)]
[WebGet(UriTemplate = "GetXml/{xmlFileName}")]
Stream GetXml(string xmlFileName);
public Stream GetXml(string xmlFileName)
{
WebOperationContext.Current.OutgoingResponse.ContentType = "application/octet-stream";
string xmlLocation=GetXmlLocation(xmlFileName);
try
{
return File.OpenRead(xmlLocation);
}
catch
{
// File Not Found
return null;
}
}
i与nodejs后端有类似的问题。
我返回XML作为字符串,然后在前端我使用下一个代码:
<a href="data:text/xml,HERE WILL BE YOUR XML" download="filename.xml">Download</a>