This commit is contained in:
2025-04-08 13:43:23 -04:00
parent 05afb855be
commit 8803a70a31
14 changed files with 335 additions and 9 deletions

25
AobaCore/MediaService.cs Normal file
View File

@@ -0,0 +1,25 @@
using AobaV2.Models;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.GridFS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AobaCore;
public class MediaService(IMongoDatabase db, AobaService aobaService)
{
private readonly GridFSBucket _gridFs = new(db);
public async Task<Maybe<Media>> UploadMediaAsync(Stream data, string filename, ObjectId owner, CancellationToken cancellationToken = default)
{
var fileId = await _gridFs.UploadFromStreamAsync(filename, data, cancellationToken: cancellationToken);
var media = new Media(fileId, filename, owner);
await aobaService.AddMediaAsync(media);
return media;
}
}