Пример #1
0
        /// <summary>
        /// 地址转换
        /// </summary>
        /// <param name="mpId"></param>
        /// <param name="content"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        private async Task <string> GetWxContent(int mpId, string content, string key)
        {
            var _content = content;
            var array    = content.Split("src=\"");

            foreach (var item in array)
            {
                if (item.StartsWith(key))
                {
                    var yStr  = item.Substring(0, item.IndexOf("\""));
                    var _yStr = yStr.Substring(1).Replace("\"", "").Replace("/", "\\");
                    //var tempPath = Path.Combine(_appFolders.TempFileDownloadFolder, yStr);

                    var wxUrl  = "";
                    var rModel = await _mpArticleInsideImageRepository.FirstOrDefaultAsync(m => m.MpID == mpId && m.LocalImageUrl == yStr);

                    //_mpArticleInsideImageAppService.GetFirstOrDefault(new MpArticleInsideImages.Dto.GetMpArticleInsideImagesInput { MpID = mpId, LocalImageUrl = yStr }).Result;
                    if (rModel == null)
                    {
                        wxUrl = await _wxMediaAppService.UploadArticleInImage(mpId, _yStr);

                        await _mpArticleInsideImageRepository.InsertAsync(new MpArticleInsideImage
                        {
                            MpID          = mpId,
                            LocalImageUrl = yStr,
                            WxImageUrl    = wxUrl
                        });

                        //_mpArticleInsideImageAppService.Create(new MpArticleInsideImages.Dto.MpArticleInsideImageDto
                        //{
                        //    MpID = mpId,
                        //    LocalImageUrl = yStr,
                        //    WxImageUrl = wxUrl
                        //});
                    }
                    else
                    {
                        wxUrl = rModel.WxImageUrl;
                    }
                    _content = _content.Replace(yStr, wxUrl);
                }
            }
            return(_content);
        }