C# base64获取图片后缀
由于业务需要,使用的微服务,然后做的上传文件操作。
但是有个问题就是,如果上传的是图片,之前为了图省事儿,直接写后缀jpg,但是人总是要进步的嘛,然后抽空就找了个。
首先微服务相关就不介绍了,直接从引用dll开始

当然了,我这里已经安装过了,自己的直接搜索,然后安装即可

首先定义一个方法,为了把byte转成Image
#region 字节数组转换成图片
/// <summary>
/// 字节数组转换成图片
/// </summary>
/// <param name="buffer"></param>
/// <returns></returns>
public static Image byte2img(byte[] buffer)
{
MemoryStream ms = new MemoryStream(buffer);
ms.Position = ;
Image img = Image.FromStream(ms);
ms.Close();
return img;
}
#endregion
然后再定义一个方法,为了获取后缀
#region 获取图片后缀
/// <summary>
/// 获取图片后缀
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
public string GetImageExt(Image image)
{
string imageExt = "";
var RawFormatGuid = image.RawFormat.Guid;
if (ImageFormat.Png.Guid == RawFormatGuid)
{
imageExt = "png";
}
if (ImageFormat.Jpeg.Guid == RawFormatGuid)
{
imageExt = "jpg";
}
if (ImageFormat.Bmp.Guid == RawFormatGuid)
{
imageExt = "bmp";
}
if (ImageFormat.Gif.Guid == RawFormatGuid)
{
imageExt = "gif";
}
if (ImageFormat.Icon.Guid == RawFormatGuid)
{
imageExt = "icon";
}
return imageExt;
}
#endregion
当然了,这里并没有把所有的都写出来,比较常用的就这么多,还需要别的,可以自己添加,使用方法就是ImageFormat对象里的属性即可

当然了,这个方法需要的是一个Image对象,那么想办法把base64转成image
//获取文件储存路径
byte[] bt = Convert.FromBase64String(text);
Image img = byte2img(bt);
string suffix = "." + GetImageExt(img); //文件的后缀名根据实际情况
这里的方法就是把base64先转成byte,然后调用方法转成Image,最后调用获取后缀的方法。
C# base64获取图片后缀的更多相关文章
- PHP image_type_to_extension - 获取图片后缀
image_type_to_extension — 根据指定的图像类型返回对应的后缀名.高佣联盟 www.cgewang.com 语法 string image_type_to_extension ( ...
- C#获取图片的后缀名
最近在学习过程中遇到一个问题,就是如何获取图片的格式,对于一张知道全路径的照片,如果其路径包含后缀名的话,要取得后缀名,只需要一行代码即可: var ext = System.IO.Path.GetE ...
- JS 获取图片的base64编码
获取图片的base64编码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 小程序获取图片base64编码
项目中遇到了这个问题,在搜索过程中看到别人的博文,大多是下面这种方法,大致如下: let imgObj = { count: 1, success: (res) => { let tempFil ...
- FileReader 获取图片BASE64 代码 并预览
FileReader 获取图片的base64 代码 并预览 FileReader ,老实说我也不怎么熟悉.在这里只是记录使用方法. 方法名 参数 描述 abort none 中断读取 readAsBi ...
- 用FileReader对象获取图片base64代码并预览
MDN中FileReader的详细介绍: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 用FileReader获取图片base ...
- Java通过图片url地址获取图片base64位字符串的两种方式
工作中遇到通过图片的url获取图片base64位的需求.一开始是用网上的方法,通过工具类Toolkit,虽然实现的代码比较简短,不过偶尔会遇到图片转成base64位不正确的情况,至今不知道为啥. 之后 ...
- node中https请求 | 实现https的请求,获取图片,然后转成base64字节码
get请求 下面实现https的请求,获取图片,然后转成base64字节码 this.checkCodeUrl = 'https://www.test.com/kaptcha.jsp'; var ht ...
- js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
随机推荐
- Chromium之文件类型
.grp: Generate your project. 是由Json(JavaScript Object Notation)(or Python?)来解析,根据环境(OS,Compiler..)来生 ...
- 深夜浅谈我理解的DIV对SEO的影响
又到了夜深人静的时候,对于以前的我来说每天的这个时候都是在敲一下代码啊或者看一会书,但是今夜突然间又一次心血来潮,想写一篇博文来记录一下这一段时间做SEO优化所遇到的问题. 其实对于我来说SEO并不是 ...
- vue2.0中父子组件之间的通信总结
父组件: 子组件: 接受父组件的信息: 向父组件发送事件: (其中slot是插槽,可以将父组件中的<p>123</p>插入进来,如果父组件没有插入的内容,则显示slot内部的内 ...
- Android 实现异步加载图片
麦洛开通博客以来,有一段时间没有更新博文了.主要是麦洛这段时间因项目开发实在太忙了.今天周六还在公司加班,苦逼程序猿都是这样生活的. 今天在做项目的时候,有一个实现异步加载图片的功能,虽然比较简单但还 ...
- dechex()
dechex() 函数把十进制转换为十六进制生成验证码的时候用到了
- 算法(8)Maximum Product Subarray
题目:在一个数组中找到一个子数组,让子数组的乘积最大,比如[2,3,-2,4]返回6 思路:之前自己想到的思路是对于一个int类型的数组,只要负数的个数是偶数,那么乘积肯定是全局乘就可以了,然后对于负 ...
- 【题解】SDOI2018战略游戏
被CNST的大小卡了好久.一定要开到18呀…… 首先,遇到这种带各种各样环的图先考虑是不是可以建立圆方树,在圆方树上求出答案.然后转化为圆方树之后,我们就将图转化到了树上.答案非常的明显:只要一个圆点 ...
- shell编程---变量赋值
echo $filen | awk -F. '{print $3}' 怎么把上边这行脚本产生的字串赋给一个变量啊,实际上会产生一个数, 这个变量用来存这个数.格式应该是怎么写的? a=`echo $ ...
- js获取当前url地址参数中文乱码问题
网上看了一些关于此问题的文章,都说的不清不楚,有些更是乱七八糟,完全没法看,故此找了一篇能用的,借鉴作为笔记. //首先获取到当前页面的地址栏信息 var url = window.location. ...
- final 的作用
1.修饰类 类不能被继承 2.修饰方法 目的有二: 1)禁止子类重写该方法 2)执行效率(JVM相关的东西,不用太关注) 3.修饰变量 final修饰原始类型的变量,该变量不能被修改 final修饰引 ...