Files
2025-09-19 15:27:49 +02:00

22 lines
772 B
C#

using Microsoft.AspNetCore.Http;
using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Helpers;
namespace SPTarkov.Server.Core.Utils;
[Injectable]
public class HttpFileUtil(HttpServerHelper httpServerHelper)
{
public async Task SendFile(HttpResponse resp, string filePath)
{
var pathSlice = filePath.Split("/");
var mimePath = httpServerHelper.GetMimeText(pathSlice[^1].Split(".")[^1]);
var type = string.IsNullOrWhiteSpace(mimePath) ? httpServerHelper.GetMimeText("txt") : mimePath;
var fileInfo = new FileInfo(filePath);
resp.Headers.Append("Content-Type", type);
resp.Headers.Append("Content-Length", fileInfo.Length.ToString());
await resp.SendFileAsync(filePath, CancellationToken.None);
}
}