using MAX.Core.Caches;
using Store.Management.Framework.Helpers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Store.Management.Framework.Caches;
///
/// 图片缓存//
///
internal class ImageCache : SingleInstanceCache
{
private ImageCache()
{
}
public override void Clear()
{
base.Clear();
GC.Collect();
}
public byte[] GetBytes(string key)
{
var item = Get(key);
if (item != null)
{
return item.ImgByte;
}
return null;
}
public string GetUploadUrl(string key)
{
var item = Get(key);
if (item != null)
{
return item.UploadImgUrl;
}
return "";
}
///
/// 添加缓存
///
///
/// 图片流
///
public bool TryAdd(string key, byte[] file)
{
var item = Get(key);
if (item == null)
{
item = new StoreImageBase();
item.ImgUrl = key;
}
item.ImgByte = file;
return base.TryAdd(key, item);
}
///
/// 添加缓存
///
///
/// 图片上传后服务器地址
///
public bool TryAdd(string key, string uploadUrl)
{
var item = Get(key);
if (item == null)
{
item = new StoreImageBase();
item.ImgUrl = key;
}
if (item.ImgByte == null)
{
item.UploadImgUrl = uploadUrl;
}
return base.TryAdd(key, item);
}
public bool TryAdd(StoreImageBase img)
{
return base.TryAdd(img.ImgUrl, img);
}
}