, если вы сохраняете файл в папке сервера, вы можете использовать его как загружаемый файл.
Пример:
var test = new
{
Id = 0,
contains = "Test"
};//Save the file
string json = JsonConvert.SerializeObject(test);
System.IO.File.WriteAllText(@"wwwroot\\json\\test.json", json);
string fileName = "test.json";//Find the file in the path
var path = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\\json\\", fileName);
var memory = new MemoryStream();
using (var stream = new FileStream(path, FileMode.Open))
{
await stream.CopyToAsync(memory);
}
memory.Position = 0;//Return file with donwload
return File(memory, GetContentType(path), Path.GetFileName(path));
Вспомогательные методы GetContentType и GetMimeTypes:
private string GetContentType(string path)
{
var types = GetMimeTypes();
var ext = Path.GetExtension(path).ToLowerInvariant();
return types[ext];
}
private Dictionary<string, string> GetMimeTypes()
{
return new Dictionary<string, string>
{
{".json", "application/json"}
};
}