ASP.NET Pobranie XML-a bez jego zapisywania na serwerze

0

Cześć,
Chciałbym zrobić stronę do której użytkownik prześle plik -> aplikacja go odrobinę przerobi -> zwróci użytkownikowi plik w formacie XML, który użytkownik będzie mógł pobrać.
Chciałbym jednak, żeby ten zwracany plik nigdzie nie był zapisywany fizycznie na serwerze (żeby wszystko odbywało się w pamięci).
XML tworzę przez stworzenie obiektu XElement xml_file.
Gdybym chciał taki plik zapisać na dysku to sprawa wydaje się prosta => xml_file.save(path);

A moje pytanie jest takie: czy jest możliwe, żeby taki obiekt XElement przekazać w controlerze do użytkownika bez jego fizycznego zapisywania na serwerze, w taki sposób, żeby ten mógł go pobrać jako plik XML?

W przypadku zwracania fizycznego pliku w controlerze robię tak:

return File(memory, GetContentType(full_path), Path.GetFileName(full_path));

A w jaki sposób mogę stworzyć plik w pamięci i go przekazać do użytkownika?

Z góry bardzo dziękuję za odpowiedź.

1
public IActionResult Abcd()
{
    var xml = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";

    byte[] bytes = Encoding.ASCII.GetBytes(xml); // https://stackoverflow.com/questions/1500259/how-to-convert-an-xmldocument-to-an-arraybyte

    return File(bytes, MediaTypeNames.Application.Octet, "file.xml");
}
BvL08JZ.png
0

@WeiXiao to nie może być takie proste!!!
Dziękuję! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1