C#实现图片转Base64字符串.并支持markdown文件打开展示
引用1.0.3版本或以上的Wesky.Net.OpenTools 包
1.0.3 版本提供图片转Base64字符串方案,并提供根据后缀名自动识别Mime类型,合成标准URI
开源项目地址:
Gitee:https://gitee.com/dreamer_j/open-tools.git
Github:https://github.com/LittleLittleRobot/OpenTools.git
为了简单操作,我直接把base64字符串,外面套一层,让它支持md文件展示。图片地址为桌面上个人公众号图片地址,格式类型为jpg
1 var file = @"XXX.jpg";
2 var data = Wesky.Net.OpenTools.Converter.ImageConvert.ConvertImageToBase64(file);
3 var mdString = $"![avatar]({data})";
4 Console.WriteLine(mdString);
运行程序,得到base64字符串.base64字符串。base64字符串,使用格式:![avatar](base64字符串)的形式,即可被markdown所识别,并显示未原始图片。
复制该全部字符串内容,粘贴到任意markdown文本编辑器内。以下我用Typora实验,可以看到自动解析出文本,并显示了我用来实验的图片。
核心代码解析:
1 /// <summary>
2 /// 将图片文件转换为 Base64 编码的字符串。
3 /// Converts an image file to a Base64-encoded string.
4 /// </summary>
5 /// <param name="imagePath">图片文件的路径。Path to the image file.</param>
6 /// <returns>返回 Base64 编码的图片字符串。Returns a Base64-encoded image string.</returns>
7 public static string ConvertImageToBase64(string imagePath)
8 {
9 if (!File.Exists(imagePath))
10 {
11 throw new FileNotFoundException("指定的图片路径不存在。Specified image path does not exist.");
12 }
13 byte[] imageBytes = File.ReadAllBytes(imagePath);
14 string mimeType = GetMimeType(imagePath);
15 string base64String = Convert.ToBase64String(imageBytes);
16 return $"data:{mimeType};base64,{base64String}";
17 }
支持的图片格式为:
case ".bmp":
return "image/bmp";
case ".gif":
return "image/gif";
case ".jpg":
case ".jpeg":
return "image/jpeg";
case ".png":
return "image/png";
case ".tif":
case ".tiff":
return "image/tiff";
case ".ico":
return "image/x-icon";
C#实现图片转Base64字符串.并支持markdown文件打开展示的更多相关文章
- java 图片转base64字符串、base64字符串转图片
java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ...
- Jquery图片上传组件,支持多文件上传
Jquery图片上传组件,支持多文件上传http://www.jq22.com/jquery-info230jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传.取消. ...
- java实现图片与base64字符串之间的转换
package cn.com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- 将图片转换为Base64字符串公共类抽取
public class ImageToBase64 { //图片转化成base64字符串 public static String GetImageStr(String path,int width ...
- 图片和Base64字符串互转
图片URL转成Base64字符串 /// <summary> /// 通过Url获取到Image格式的文件 /// </summary> /// <param name= ...
- c# 图片 与 BASE64 字符串 互相转换。
using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...
- 发布一个自己做的图片转Base64的软件,Markdown写文章时能用到
markdownpic 介绍 Markdown编辑时图片生成base64 软件架构 使用了.netcore winform框架 安装教程 直接运行即可 使用说明 拖拽图片文件 双击选择文件 复制粘贴图 ...
- C# 常用方法——图片转base64字符串
其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html /// <summary> /// Image 转成 base64 / ...
- 把图片生成Base64字符串
public class ImgeUtils { public static String img2String(BufferedImage img,String type){ String imgS ...
- chrome用type=file获取图片路径并转base64字符串
1 html页面 <div class="col-sm-2" style="height: 200px;margin-top: 14px;"> &l ...
随机推荐
- Hall定理小记
前言 Hall定理:一张二分图有完美匹配(即最大匹配为 \(\min\{|X|,|Y|\}\) ) 当且仅当任意一个点集 \(X'\) 与所有能直接到达 \(X'\) 的点集 \(Y'\), 也就是 ...
- 2. Solving Linear Equations
2.1 Linear Equations Picture Row Picture 2 by 2 equations Two equations, Two unknowns \[\begin{matri ...
- C#实现文件加密、解密及文件拖拽至程序图标直接打开
引用:https://www.cnblogs.com/longqi293/archive/2010/07/23/1783672.html 下载源码:http://files.cnblogs.com/l ...
- 一图读懂HUAWEI HiAI Foundation
作为华为端侧AI的创新开放平台,HMS Core的HUAWEI HiAI Foundation开放AI算力,助力AI应用高效开发,同时联合多领域打造AI生态,实现日调用600亿次的突破,助力AI生态繁 ...
- openGauss内存引擎中的索引
一.索引 索引是一种用于快速查询和检索数据的数据结构.常见的索引结构有: B 树, B+树和 Hash. 索引的作用就相当于目录的作用.打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一 ...
- MogDB/openGauss 坏块测试-对启动的影响-测试笔记1
MogDB/openGauss 坏块测试-对启动的影响-测试笔记 1 在 UPDATE 操作提交后,脏块落盘前 kill 掉 mogdb 数据库,然后对 UPDATE 修改的坏进行以下破坏操作,仍然能 ...
- jenkins 持续集成和交付——一个构件小栗子前置(三)
前言 下面介绍构建一个小栗子. 在此之前有个小前提,就是已经安装好了git 服务器,用的是gogs,详细请看外篇. 正文 插件安装 首先你要安装一个git插件. 装完git插件后,我们还得安装一些gi ...
- pageSpy - 远程调试利器
视频版: https://www.bilibili.com/video/BV1Zi4y167TZ 前言 在工作中, 经常需要面对的问题就是处理客户提出的bug. 但是这个事儿最耗费精力甚至决定能不能修 ...
- 【笔记】Oracle union all&for update锁
[笔记]Oracle union all&for update union all 在Oracle中有三种类型的集合操作 UNION:求并,重复记录只显示一次 UNION ALL:求并集,显示 ...
- Llama 3 开源了「GitHub 热点速览」
近日,Meta(原 Facebook)开源了他们公司的新一代大模型 Llama 3,虽然目前只放出了 8B 和 70B 两个版本,但是在评估结果上已经优于 Claude 3 Sonnet.Mistra ...