图片转换成base64编码文本
/// <summary>
/// 新建空间分布.
/// </summary>
/// <param name="input">参数.</param>
/// <returns></returns>
[HttpPost("")]
public async Task Create([FromBody] SecurityRiskCrInput input)
{
var name = App.Configuration["JNPF_App:SystemPath"];
name.Replace("\\", "/");
var des = "";
var entity = input.Adapt<SecurityRiskEntity>();
int de = await _repository.AsSugarClient().Queryable<SecurityRiskEntity>().Where(it => it.CompanyCode.ToString() == _userManager.User.OrganizeId).CountAsync();
if (de > 19)
{
throw Oops.Oh(ErrorCode.COM1101);
}
entity.Id = SnowflakeIdHelper.NextId();
entity.CreateTime = DateTime.Now;
entity.CreateBy = _userManager.UserId;
entity.UpdateBy = _userManager.UserId;
entity.UpdateTime = DateTime.Now;
entity.DeleteMark = 0;
var data = await _repository.AsSugarClient().Queryable<BaseOrganizeEntity>().Where(it => it.Id.Equals(entity.CompanyCode)).Select(it => new
{
F_EnCode = it.EnCode,
}).FirstAsync();
if (data != null)
{
entity.OrgCode = data.F_EnCode;
}
foreach (var item in input.img)
{
entity.ImgName = item.name;
entity.Img = ImageToBase64(name + "//SystemFile//" + item.fileId);
}
var isOk = await _repository.AsSugarClient().Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync();
if (!(isOk > 0)) throw Oops.Oh(ErrorCode.COM1000);
}
/// <summary>
/// 图片转换成base64编码文本.
/// </summary>
/// <summary>
/// Image 转成 base64.
/// </summary>
/// <param name="fileFullName">保存路径.</param>
private static string ImageToBase64(string fileFullName)
{
try
{
var suffix = fileFullName.Substring(fileFullName.LastIndexOf('.') + 1,
fileFullName.Length - fileFullName.LastIndexOf('.') - 1).ToLower();
var input = File.OpenRead(fileFullName);
var inputStream = new SKManagedStream(input);
var original = SKBitmap.Decode(inputStream);
var image = SKImage.FromBitmap(original);
var p = image.Encode(SKEncodedImageFormat.Png, 100);
var ms = new MemoryStream();
//保存到流
p.SaveTo(ms);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
string base64String = "data:image/" + suffix + ";base64," + Convert.ToBase64String(arr);
return base64String;
}
catch (Exception ex)
{
return ex.ToString();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律