JLChen
2021-11-30 efad979b6fae76fb37a4de7e94e6bac0a85cb72c
HDL_ON/Common/ImageUtlis.cs
@@ -2,6 +2,7 @@
using Shared;
using HDL_ON.DAL.Server;
using System.IO;
using HDL_ON.Common;
namespace HDL_ON
{
@@ -162,6 +163,7 @@
        /// <summary>
        /// 通过图片路径下载图片
        /// 针对住宅,使用住宅域名服务器
        /// </summary>
        public byte[] GetImageDownloadUrl(string imageKey)
        {
@@ -170,6 +172,31 @@
                imageKey = imageKey,
            });
            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetImageUrl, requestJson);
            if (revertObj.Code == StateCode.SUCCESS)
            {
                if (revertObj.Data != null)
                {
                    if (!string.IsNullOrEmpty(revertObj.Data.ToString()))
                    {
                        var url = revertObj.Data.ToString();
                        return HttpUtil.HttpsDownload(url);
                    }
                }
            }
            return null;
        }
        /// <summary>
        /// 通过图片路径下载图片
        /// 针对用户头像指定用户路径等
        /// </summary>
        public byte[] GetImageDownloadUrlWithRegionUrl(string imageKey, string regionUrl)
        {
            var requestJson = HttpUtil.GetSignRequestJson(new GetImageUrlObj()
            {
                imageKey = imageKey,
            });
            var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetImageUrl, requestJson, regionUrl);
            if (revertObj.Code == StateCode.SUCCESS)
            {
                if (revertObj.Data != null)
@@ -326,40 +353,94 @@
            }
        }
        /// <summary>
      /// 获取拼接用户头像的ImageKey规则
      /// </summary>
      /// <returns></returns>
      public string GetHeadImageKey(string userId)
        {
            return "ON" + "_" + userId + "_" + HEADIMAGE;
        }
        /// <summary>
        /// 生成头像上传规则参数
        /// 2021-01-28
        /// 加载第三方品牌icon
        /// </summary>
        /// <returns></returns>
        public UploadImageObj GetHeadImageUploadKeyObj(string userId)
        /// <param name="imageKey">图片路径、云端下载图片的标识key</param>
        /// <param name="imageView">需要显示图片的ImageView</param>
        /// <param name="ignoreCache">是否需要忽略缓存</param>
        public void Load3tyBrandIconImages(string brandName, string imageKey, ImageView imageView)
        {
            return new UploadImageObj()
            try
            {
                prefix = "ON",
                uid = userId,
                fileName = HEADIMAGE,
            };
                System.Threading.Tasks.Task.Run(() =>
                {
                    //byte[] imageBytes = GetImageDownloadUrl(imageKey);
                    //if (imageBytes != null)
                    //{
                    //    WriteFileByBytes(imageKey, imageBytes);
                    //    //2.3 下载成功,显示并缓存本地
                    //    Application.RunOnMainThread(() => {
                    //        if (imageView != null)
                    //        {
                    //            imageView.ImageBytes = imageBytes;
                    //            //Utlis.WriteLine("imageKey 加载云端下载图片成功");
                    //        }
                    //    });
                    //}
                    //var ddd = new Common.DownLoadImageAsync(imageKey,"1","1");
                    //ddd.StartDownloadImageAsync();
                    Action action = () => {
                        Application.RunOnMainThread(() =>
                        {
                            imageView.ImagePath = $"{brandName}.png";
                        });
                    };
                    FileUtlis.Files.DownLoadImage($"{brandName}.png", imageKey, action);
                });
            }
            catch (Exception ex)
            {
                Utlis.WriteLine("imageKey 加载图片异常 catch");
            }
            finally
            {
            }
        }
        //      /// <summary>
        ///// 获取拼接用户头像的ImageKey规则
        ///// </summary>
        ///// <returns></returns>
        //public string GetHeadImageKey(string userId)
        //      {
        //          return "ON" + "_" + userId + "_" + HEADIMAGE;
        //      }
        ///// <summary>
        ///// 生成头像上传规则参数
        ///// </summary>
        ///// <returns></returns>
        //public UploadImageObj GetHeadImageUploadKeyObj(string userId)
        //{
        //    return new UploadImageObj()
        //    {
        //        prefix = "Icon" + Utlis.GetTimestamp(),
        //        uid = userId,
        //        fileName = HEADIMAGE,
        //    };
        //}
        /// <summary>
        /// 下载用户头像
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="ignoreCache">是否忽略缓存</param>
        /// <param name="imageKey"></param>
        /// <param name="ignoreCache">忽略缓存</param>
        /// <param name="regionUrl">指定服务器域名,传空为使用当前用户地址</param>
        /// <returns></returns>
        public byte[] DownHeadImage(string userId, bool ignoreCache = false)
        public byte[] DownHeadImageByImageKey(string imageKey, bool ignoreCache = false, string regionUrl = "")
        {
            try
            {
                var imageKey = GetHeadImageKey(userId);
                if (string.IsNullOrEmpty(imageKey)) return null;
                byte[] imageBytes;
                if (!ignoreCache && Exists(imageKey))
                {
@@ -369,7 +450,7 @@
                else
                {
                    //云端下载
                    imageBytes = GetImageDownloadUrl(imageKey);
                    imageBytes = GetImageDownloadUrlWithRegionUrl(imageKey, regionUrl);
                    if(imageBytes != null)
                    {
                        //保存到本地