Пример #1
0
        /// <summary>
        /// 获取用户头像
        /// </summary>
        /// <param name="mid"></param>
        /// <returns></returns>
        public string GetHeader(long mid, string name, string url)
        {
            HeaderDb headerDb = new HeaderDb();
            Header   header   = headerDb.QueryByMid(mid);

            if (header != null)
            {
                string headerPath = $"{StorageManager.GetHeader()}/{header.Md5}";
                if (File.Exists(headerPath))
                {
                    Header newHeader = new Header
                    {
                        Mid  = mid,
                        Name = name,
                        Url  = url,
                        Md5  = header.Md5
                    };
                    headerDb.Update(newHeader);
                    //headerDb.Close();
                    return($"{StorageManager.GetHeader()}/{header.Md5}");
                }
                else
                {
                    string md5 = DownloadImage(url);
                    if (md5 != null)
                    {
                        Header newHeader = new Header
                        {
                            Mid  = mid,
                            Name = name,
                            Url  = url,
                            Md5  = md5
                        };
                        headerDb.Insert(newHeader);
                        //headerDb.Close();
                        return($"{StorageManager.GetHeader()}/{md5}");
                    }
                    else
                    {
                        //headerDb.Close();
                        return(null);
                    }
                }
            }
            else
            {
                string md5 = DownloadImage(url);
                if (md5 != null)
                {
                    Header newHeader = new Header
                    {
                        Mid  = mid,
                        Name = name,
                        Url  = url,
                        Md5  = md5
                    };
                    headerDb.Insert(newHeader);
                    //headerDb.Close();
                    return($"{StorageManager.GetHeader()}/{md5}");
                }
                else
                {
                    //headerDb.Close();
                    return(null);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 获取封面
        /// </summary>
        /// <param name="aid"></param>
        /// <param name="bvid"></param>
        /// <param name="cid"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public string GetCover(long avid, string bvid, long cid, string url)
        {
            CoverDb coverDb = new CoverDb();
            Cover   cover   = coverDb.QueryByUrl(url);

            // 如果存在,直接返回
            // 如果不存在,则先下载
            if (cover != null)
            {
                string coverPath = $"{StorageManager.GetCover()}/{cover.Md5}";
                if (File.Exists(coverPath))
                {
                    Cover newCover = new Cover
                    {
                        Avid = avid,
                        Bvid = bvid,
                        Cid  = cid,
                        Url  = url,
                        Md5  = cover.Md5
                    };
                    coverDb.Update(newCover);

                    //coverDb.Close();
                    return($"{StorageManager.GetCover()}/{cover.Md5}");
                }
                else
                {
                    string md5 = DownloadImage(url);
                    if (md5 != null)
                    {
                        Cover newCover = new Cover
                        {
                            Avid = avid,
                            Bvid = bvid,
                            Cid  = cid,
                            Url  = url,
                            Md5  = md5
                        };
                        coverDb.Update(newCover);

                        //coverDb.Close();
                        return($"{StorageManager.GetCover()}/{md5}");
                    }
                    else
                    {
                        //coverDb.Close();
                        return(null);
                    }
                }
            }
            else
            {
                string md5 = DownloadImage(url);
                if (md5 != null)
                {
                    Cover newCover = new Cover
                    {
                        Avid = avid,
                        Bvid = bvid,
                        Cid  = cid,
                        Url  = url,
                        Md5  = md5
                    };
                    coverDb.Insert(newCover);

                    //coverDb.Close();
                    return($"{StorageManager.GetCover()}/{md5}");
                }
                else
                {
                    //coverDb.Close();
                    return(null);
                }
            }
        }