private string GetFileName(String name, ItemImageSize size) { Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(name); byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes); string filename = iso.GetString(isoBytes); filename = filename.ToLower(); filename = filename.Replace(" ", "_"); filename += "_" + size.ToString().ToLower(); filename += Extension; return(filename); }
public void LoadItemImage(IItem item, ItemImageSize size, Action <string> callback) { if (string.IsNullOrEmpty(item.Name)) { callback(string.Empty); return; } string target = _cacheDirectory.FullName + GetFileName(item.Name, size); if (File.Exists(target)) { callback(target); return; } Task.Run(() => { IItemImageDownloader dl = new ItemImageDownloader(); dl.DownloadImage(item, target); callback(target); }); }