| | |
| | | using Shared; |
| | | using HDL_ON.DAL.Server; |
| | | using System.IO; |
| | | using HDL_ON.Common; |
| | | |
| | | namespace HDL_ON |
| | | { |
| | |
| | | |
| | | /// <summary> |
| | | /// 通过图片路径下载图片 |
| | | /// 针对住宅,使用住宅域名服务器 |
| | | /// </summary> |
| | | public byte[] GetImageDownloadUrl(string imageKey) |
| | | { |
| | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | |
| | | /// <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)) |
| | | { |
| | |
| | | else |
| | | { |
| | | //云端下载 |
| | | imageBytes = GetImageDownloadUrl(imageKey); |
| | | imageBytes = GetImageDownloadUrlWithRegionUrl(imageKey, regionUrl); |
| | | if(imageBytes != null) |
| | | { |
| | | //保存到本地 |