private static int SaveSmallCoverForAlbum(string coverDbPath, string path) { byte[] data = null; string mimeType; using (var tlfile = TagLib.File.Create(path)) { TagLib.Tag tag123 = tlfile.Tag; if (tag123.Pictures != null && tag123.Pictures.Length > 0) { data = tag123.Pictures[0].Data.ToArray(); mimeType = tag123.Pictures[0].MimeType; } else { // check if cover file exists string dir = System.IO.Path.GetDirectoryName(path); string coverpath = System.IO.Path.Combine(dir, "cover.jpg"); string mimetype = "image/jpg"; if (!System.IO.File.Exists(coverpath)) { coverpath = System.IO.Path.Combine(dir, "cover.png"); mimetype = "image/png"; } if (System.IO.File.Exists(coverpath)) { data = System.IO.File.ReadAllBytes(coverpath); mimeType = mimetype; } } } Cover cover; try { if (data != null && data.Length > 0) { var resizedImageBytes = ImageResizer.ResizeImageTo(data, 200, 200, false); cover = new Cover() { Data = resizedImageBytes }; using (DAL.DALManager mgr = new DAL.DALManager(coverDbPath)) mgr.Set(cover); return(cover.Id); } } catch (Exception ex) { Console.Error.WriteLine("Unable to save cover for " + path + ": " + ex.GetType().FullName + " - " + ex.Message); } return(0); }