打印模板图片路径转base64

public async Task<object> PrintReport(string BLH, string MedicalNo)
        {
            string PrintTitle = "";
            List<object> result = new List<object>();
            List<object> resultChild = new List<object>();
            Dictionary<string, object> dic = new Dictionary<string, object>();定义一个打印模板字典变量

            var mm2 = await _dbContext.Medicals.Where(x => x.Blh == BLH && x.MedicalNo == MedicalNo && x.IfSend==1).FirstOrDefaultAsync();
            var qvisit = await  _dbContext.InpatientVisits.Where(x => x.Blh == BLH).FirstOrDefaultAsync();
            var query = await _dbContext.DocumentsSource.Where(x => x.BLH == BLH && x.MedicalNo == MedicalNo).ToListAsync();
            var entity = await _dbContext.ImagingReports.Where(x => x.BLH == BLH && x.MedicalNo == MedicalNo).FirstOrDefaultAsync();
            string InpatienName = qvisit.InpatienName;
            string Sex = qvisit.Sex;
            string Bch = qvisit.Bch;
            string Agestr = qvisit.Agestr;
            string EnterRepInfo = qvisit.EnterRepInfo;
            string ImageContent = entity.ImageContent;
            string ImagingConclusion = entity.ImagingConclusion;
            string Remarks = entity.Remarks;
            string ReleaseTime = entity.ReleaseTime.ToString();
            string Creator = entity.Creator;
            string Reviewer = entity.Reviewer;
            string DoctorName = mm2.DoctorName;
            string FeeName_str = mm2.FeeName_str;
            string ExecutorDoctor = mm2.ExecutorDoctor;
            string ExecutorDate = mm2.ExecutorDate.ToString();

            result.Add(new
            {
                BLH = BLH,
                MedicalNo = MedicalNo,
                Sex= Sex,
                Bch = Bch,
                Agestr = Agestr,
                EnterRepInfo = EnterRepInfo,
                ImageContent = ImageContent,
                ImagingConclusion = ImagingConclusion,
                Remarks = Remarks,
                ReleaseTime = ReleaseTime,
                Creator = Creator,
                Reviewer = Reviewer,
                DoctorName = DoctorName,
                FeeName_str = FeeName_str,
                ExecutorDoctor = ExecutorDoctor,
                ExecutorDate = ExecutorDate,
                InpatienName= InpatienName,
            });
            if (query.Count>0)
            {
                foreach (var item in query)
                {
                    
                    resultChild.Add(new 
                    {
                    _ImgReport = FileToBase64String(item.FilePath),
                    });
                }
            }
            dic.Add("影像信息", result);
            dic.Add("影像图片", resultChild);

            var userInfo = await _onlineUserProvider.GetOrCreateAsync();
            var obj = new PrintResult(dic, "影像报告", userInfo.PrintType);

            return obj;

        }```
```csharp+
        private readonly IWebHostEnvironment _webHostEnvironment;
   		private readonly IConfiguration _configuration;
		/// <summary>
        /// 文件转base64
        /// </summary>
        /// <returns>base64字符串</returns>
        public string FileToBase64String(string Path)
        {
            var root = _webHostEnvironment.WebRootPath; //获取本地相对路径
            var sectionValue = _configuration.GetValue<string>("ContentRootPath");
            if (!string.IsNullOrWhiteSpace(sectionValue))
            {
                root = sectionValue;
            }
            using (FileStream fsForRead = new FileStream(root + "" + Path, FileMode.Open))
            {
                string base64Str = "";
                try
                {
                    //读写指针移到距开头10个字节处
                    fsForRead.Seek(0, SeekOrigin.Begin);
                    byte[] bs = new byte[fsForRead.Length];
                    int log = Convert.ToInt32(fsForRead.Length);
                    //从文件中读取10个字节放到数组bs中
                    fsForRead.Read(bs, 0, log);
                    base64Str = Convert.ToBase64String(bs);
                    return base64Str;
                }
                catch (Exception ex)
                {

                    return "";


                }

            }
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值