mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-02-13 18:01:36 +00:00
33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using AIStudio.Tools.Services;
|
|
|
|
namespace AIStudio;
|
|
|
|
public static class AudioRecorderHandler
|
|
{
|
|
public static void AddAudioRecorderHandlers(this IEndpointRouteBuilder app)
|
|
{
|
|
var router = app.MapGroup("/audio");
|
|
|
|
router.MapPost("/upload", UploadAudio)
|
|
.DisableAntiforgery();
|
|
}
|
|
|
|
private static async Task<IResult> UploadAudio(IFormFile audio, RustService rustService)
|
|
{
|
|
if (audio.Length == 0)
|
|
return Results.BadRequest();
|
|
|
|
var dataDirectory = await rustService.GetDataDirectory();
|
|
var recordingDirectory = Path.Combine(dataDirectory, "audioRecordings");
|
|
if(!Path.Exists(recordingDirectory))
|
|
Directory.CreateDirectory(recordingDirectory);
|
|
|
|
var fileName = $"recording_{DateTime.UtcNow:yyyyMMdd_HHmmss}.webm";
|
|
var filePath = Path.Combine(recordingDirectory, fileName);
|
|
|
|
await using var stream = File.Create(filePath);
|
|
await audio.CopyToAsync(stream);
|
|
|
|
return Results.Ok(new { FileName = fileName });
|
|
}
|
|
} |