move over xml
This commit is contained in:
parent
b86c277885
commit
336191ed3b
|
|
@ -38,25 +38,12 @@ public static class Responses
|
||||||
|
|
||||||
public static FileStreamHttpResult RespondXml<T>(this ControllerBase controller, T obj, string fileName = "Data.xml")
|
public static FileStreamHttpResult RespondXml<T>(this ControllerBase controller, T obj, string fileName = "Data.xml")
|
||||||
{
|
{
|
||||||
var stream = new MemoryStream();
|
var stream = Utils.Xml.Serialize(obj);
|
||||||
//use utf8 encoding
|
|
||||||
var serializer = new XmlSerializer(typeof(T));
|
|
||||||
var settings = new XmlWriterSettings
|
|
||||||
{
|
|
||||||
Indent = true,
|
|
||||||
Encoding = Encoding.UTF8,
|
|
||||||
};
|
|
||||||
|
|
||||||
//Console.Writeline(stream.Length);
|
//Console.Writeline(stream.Length);
|
||||||
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
|
||||||
using (var writer = XmlWriter.Create(stream, settings))
|
controller.Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
|
||||||
{
|
return TypedResults.File(stream, "text/xml", fileName);
|
||||||
serializer.Serialize(writer, obj);
|
|
||||||
//Console.Writeline(stream.Length);
|
|
||||||
stream.Seek(0, SeekOrigin.Begin);
|
|
||||||
|
|
||||||
controller.Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
|
|
||||||
return TypedResults.File(stream, "text/xml", fileName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
30
Utils/Xml.cs
Normal file
30
Utils/Xml.cs
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
using System.Text;
|
||||||
|
using System.Xml;
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
|
namespace NejCommon.Utils;
|
||||||
|
|
||||||
|
public static class Xml{
|
||||||
|
public static Stream Serialize<T>(T obj){
|
||||||
|
var stream = new MemoryStream();
|
||||||
|
//use utf8 encoding
|
||||||
|
var serializer = new XmlSerializer(typeof(T));
|
||||||
|
var settings = new XmlWriterSettings
|
||||||
|
{
|
||||||
|
Indent = true,
|
||||||
|
Encoding = Encoding.UTF8,
|
||||||
|
};
|
||||||
|
|
||||||
|
//Console.Writeline(stream.Length);
|
||||||
|
|
||||||
|
using (var writer = XmlWriter.Create(stream, settings))
|
||||||
|
{
|
||||||
|
serializer.Serialize(writer, obj);
|
||||||
|
//Console.Writeline(stream.Length);
|
||||||
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
|
||||||
|
return stream;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user