使用JavaScript和C#/REST下载XML文件



我有一个我在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>

最新更新