[backend/drive] Fix duplicated dots in file extensions in some circumstances

This commit is contained in:
Laura Hausmann 2024-08-08 17:48:34 +02:00
parent aac4be5893
commit 7b3e9bbbca
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
2 changed files with 4 additions and 4 deletions

View file

@ -337,7 +337,7 @@ public class DriveService(
Stream input, DriveFileCreationRequest request
)
{
var accessKey = GenerateAccessKey(extension: Path.GetExtension(request.Filename));
var accessKey = GenerateAccessKey(extension: Path.GetExtension(request.Filename).TrimStart('.'));
var url = await StoreFileVersion(input, accessKey, request.Filename, request.MimeType);
return (Stub, accessKey, url);
}
@ -442,7 +442,7 @@ public class DriveService(
{
if (skipImageProcessing)
{
var origFormat = new ImageFormat.Keep(Path.GetExtension(request.Filename), request.MimeType);
var origFormat = new ImageFormat.Keep(Path.GetExtension(request.Filename).TrimStart('.'), request.MimeType);
return [new ImageVersion(KeyEnum.Original, origFormat)];
}
@ -469,7 +469,7 @@ public class DriveService(
return config.Format switch
{
ImageFormatEnum.None => null,
ImageFormatEnum.Keep => new ImageFormat.Keep(Path.GetExtension(request.Filename), request.MimeType),
ImageFormatEnum.Keep => new ImageFormat.Keep(Path.GetExtension(request.Filename).TrimStart('.'), request.MimeType),
ImageFormatEnum.Webp => new ImageFormat.Webp(config.WebpCompressionMode, GetQualityFactor(), GetTargetRes()),
ImageFormatEnum.Avif => new ImageFormat.Avif(config.AvifCompressionMode, GetQualityFactor(), config.AvifBitDepth, GetTargetRes()),
ImageFormatEnum.Jxl => new ImageFormat.Jxl(config.JxlCompressionMode, GetQualityFactor(), config.JxlEffort, GetTargetRes()),

View file

@ -147,7 +147,7 @@ public class ImageProcessor
[SetsRequiredMembers]
public ProcessedImage(IImageInfo info, Stream original, DriveFileCreationRequest request) : this(info)
{
var format = new ImageFormat.Keep(Path.GetExtension(request.Filename), request.MimeType);
var format = new ImageFormat.Keep(Path.GetExtension(request.Filename).TrimStart('.'), request.MimeType);
RequestedFormats = new Dictionary<ImageVersion, Func<Task<Stream>>?>
{
[new ImageVersion(KeyEnum.Original, format)] = () => Task.FromResult(original)