Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b34f7436c2 | |||
| 8b5803c085 |
@@ -22,17 +22,20 @@ public class Media
|
|||||||
public static readonly Dictionary<string, MediaType> KnownTypes = new()
|
public static readonly Dictionary<string, MediaType> KnownTypes = new()
|
||||||
{
|
{
|
||||||
{ ".jpg", MediaType.Image },
|
{ ".jpg", MediaType.Image },
|
||||||
{ ".avif", MediaType.Image },
|
|
||||||
{ ".jpeg", MediaType.Image },
|
{ ".jpeg", MediaType.Image },
|
||||||
|
{ ".jxr", MediaType.Image },
|
||||||
|
{ ".avif", MediaType.Image },
|
||||||
{ ".png", MediaType.Image },
|
{ ".png", MediaType.Image },
|
||||||
{ ".apng", MediaType.Image },
|
{ ".apng", MediaType.Image },
|
||||||
{ ".webp", MediaType.Image },
|
{ ".webp", MediaType.Image },
|
||||||
|
{ ".qoi", MediaType.Image },
|
||||||
{ ".ico", MediaType.Image },
|
{ ".ico", MediaType.Image },
|
||||||
{ ".gif", MediaType.Image },
|
{ ".gif", MediaType.Image },
|
||||||
{ ".mp3", MediaType.Audio },
|
{ ".mp3", MediaType.Audio },
|
||||||
{ ".flac", MediaType.Audio },
|
{ ".flac", MediaType.Audio },
|
||||||
{ ".alac", MediaType.Audio },
|
{ ".alac", MediaType.Audio },
|
||||||
{ ".mp4", MediaType.Video },
|
{ ".mp4", MediaType.Video },
|
||||||
|
{ ".m4v", MediaType.Video },
|
||||||
{ ".webm", MediaType.Video },
|
{ ".webm", MediaType.Video },
|
||||||
{ ".mov", MediaType.Video },
|
{ ".mov", MediaType.Video },
|
||||||
{ ".avi", MediaType.Video },
|
{ ".avi", MediaType.Video },
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using MongoDB.Driver.GridFS;
|
|||||||
|
|
||||||
namespace AobaCore.Services;
|
namespace AobaCore.Services;
|
||||||
|
|
||||||
public class AobaService(IMongoDatabase db, ThumbnailService thumbnailService, ILogger<AobaService> logger)
|
public class AobaService(IMongoDatabase db)
|
||||||
{
|
{
|
||||||
private readonly IMongoCollection<Media> _media = db.GetCollection<Media>("media");
|
private readonly IMongoCollection<Media> _media = db.GetCollection<Media>("media");
|
||||||
private readonly GridFSBucket _gridFs = new(db);
|
private readonly GridFSBucket _gridFs = new(db);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class MediaController(AobaService aobaService, ILogger<MediaController> l
|
|||||||
[ResponseCache(Duration = int.MaxValue)]
|
[ResponseCache(Duration = int.MaxValue)]
|
||||||
public async Task<IActionResult> MediaAsync(ObjectId id, [FromServices] MongoClient client, CancellationToken cancellationToken)
|
public async Task<IActionResult> MediaAsync(ObjectId id, [FromServices] MongoClient client, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var file = await aobaService.GetFileStreamAsync(id, cancellationToken: cancellationToken);
|
var file = await aobaService.GetFileStreamAsync(id, seekable: true, cancellationToken: cancellationToken);
|
||||||
if (file.HasError)
|
if (file.HasError)
|
||||||
{
|
{
|
||||||
logger.LogError(file.Error.Exception, "Failed to load media stream");
|
logger.LogError(file.Error.Exception, "Failed to load media stream");
|
||||||
|
|||||||
Reference in New Issue
Block a user