🐛 Fix compress GIF wrongly

This commit is contained in:
2025-08-25 22:42:14 +08:00
parent c44b0b64c3
commit 0221d7b294

View File

@@ -337,8 +337,13 @@ public class FileService(
if (!pool.PolicyConfig.NoOptimization) if (!pool.PolicyConfig.NoOptimization)
switch (contentType.Split('/')[0]) switch (contentType.Split('/')[0])
{ {
case "image" when !AnimatedImageTypes.Contains(contentType) && case "image":
!AnimatedImageExtensions.Contains(fileExtension): if (!AnimatedImageTypes.Contains(contentType) || !AnimatedImageExtensions.Contains(fileExtension))
{
logger.LogInformation("Skip optimize file {FileId} due to it is animated...", fileId);
break;
}
newMimeType = "image/webp"; newMimeType = "image/webp";
using (var vipsImage = Image.NewFromFile(originalFilePath)) using (var vipsImage = Image.NewFromFile(originalFilePath))
{ {
@@ -672,8 +677,8 @@ public class FileService(
foreach (var file in fileGroup) foreach (var file in fileGroup)
{ {
objectsToDelete.Add(file.StorageId ?? file.Id); objectsToDelete.Add(file.StorageId ?? file.Id);
if(file.HasCompression) objectsToDelete.Add(file.StorageId ?? file.Id + ".compressed"); if (file.HasCompression) objectsToDelete.Add(file.StorageId ?? file.Id + ".compressed");
if(file.HasThumbnail) objectsToDelete.Add(file.StorageId ?? file.Id + ".thumbnail"); if (file.HasThumbnail) objectsToDelete.Add(file.StorageId ?? file.Id + ".thumbnail");
} }
await client.RemoveObjectsAsync( await client.RemoveObjectsAsync(