upload .ico for favicon
This commit is contained in:
parent
0f7a40bb3f
commit
5c828d4124
@ -81,8 +81,14 @@ public class WhitelabelController : BaseSettingsController
|
||||
var logoDict = new Dictionary<int, KeyValuePair<string, string>>();
|
||||
|
||||
foreach (var l in inDto.Logo)
|
||||
{
|
||||
logoDict.Add(Int32.Parse(l.Key), new KeyValuePair<string, string>(l.Value.Light, l.Value.Dark));
|
||||
{
|
||||
var key = Int32.Parse(l.Key);
|
||||
if (key == (int)WhiteLabelLogoTypeEnum.Favicon && !(l.Value.Light.EndsWith("ico") || l.Value.Light.EndsWith("svg")))
|
||||
{
|
||||
throw new InvalidOperationException("Favicon must have .ico or .svg extension");
|
||||
}
|
||||
|
||||
logoDict.Add(key, new KeyValuePair<string, string>(l.Value.Light, l.Value.Dark));
|
||||
}
|
||||
|
||||
await _tenantWhiteLabelSettingsHelper.SetLogo(settings, logoDict, null);
|
||||
|
@ -64,10 +64,15 @@ public class LogoUploader
|
||||
reader.Read(data, 0, (int)logo.Length);
|
||||
reader.Close();
|
||||
|
||||
if (logo.ContentType.Contains("svg"))
|
||||
if (logo.ContentType.Contains("image/x-icon"))
|
||||
{
|
||||
result.Success = true;
|
||||
result.Message = await userPhotoManager.SaveTempSvg(data, setupInfo.MaxImageUploadSize);
|
||||
result.Message = await userPhotoManager.SaveTempPhoto(data, setupInfo.MaxImageUploadSize, "ico");
|
||||
}
|
||||
else if (logo.ContentType.Contains("image/svg+xml"))
|
||||
{
|
||||
result.Success = true;
|
||||
result.Message = await userPhotoManager.SaveTempPhoto(data, setupInfo.MaxImageUploadSize, "svg");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -768,7 +768,7 @@ public class UserPhotoManager
|
||||
return (await store.SaveAsync(_tempDomainName, fileName, stream)).ToString();
|
||||
}
|
||||
|
||||
public async Task<string> SaveTempSvg(byte[] data, long maxFileSize)
|
||||
public async Task<string> SaveTempPhoto(byte[] data, long maxFileSize, string ext)
|
||||
{
|
||||
if (maxFileSize != -1 && data.Length > maxFileSize)
|
||||
{
|
||||
@ -776,7 +776,7 @@ public class UserPhotoManager
|
||||
}
|
||||
|
||||
using var stream = new MemoryStream(data);
|
||||
var fileName = Guid.NewGuid() + ".svg";
|
||||
var fileName = Guid.NewGuid() + $".{ext}";
|
||||
var store = GetDataStore();
|
||||
return (await store.SaveAsync(_tempDomainName, fileName, stream)).ToString();
|
||||
}
|
||||
|
@ -562,7 +562,13 @@ public class TenantWhiteLabelSettingsHelper
|
||||
return partnerLogoPath;
|
||||
}
|
||||
|
||||
return _webImageSupplier.GetAbsoluteWebPath($"logo/" + BuildLogoFileName(type, "svg", dark));
|
||||
var ext = type switch
|
||||
{
|
||||
WhiteLabelLogoTypeEnum.Favicon => "ico",
|
||||
_ => "svg"
|
||||
};
|
||||
|
||||
return _webImageSupplier.GetAbsoluteWebPath($"logo/" + BuildLogoFileName(type, ext, dark));
|
||||
}
|
||||
|
||||
private async Task<string> GetPartnerStorageLogoPath(WhiteLabelLogoTypeEnum type, bool dark)
|
||||
@ -647,11 +653,6 @@ public class TenantWhiteLabelSettingsHelper
|
||||
return $"{(dark ? "dark_" : "")}{type.ToString().ToLowerInvariant()}.{fileExt}";
|
||||
}
|
||||
|
||||
if (type == WhiteLabelLogoTypeEnum.Favicon)
|
||||
{
|
||||
return "favicon.ico";
|
||||
}
|
||||
|
||||
return $"{type.ToString().ToLowerInvariant()}.{fileExt}";
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user