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 ...
随机推荐
- PAT 甲级 1002 A+B for Polynomials
https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000 This time, you are sup ...
- 【EasyNetQ】- 连接RabbitMQ
如果您习惯于处理与SQL Server等关系数据库的连接,那么您可能会发现EasyNetQ处理连接的方式有点奇怪.与关系数据库的通信始终由客户端启动.客户端打开连接,发出SQL命令,在必要时处理结果, ...
- MD5消息摘要算法
Message Digest 5(消息摘要算法)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护. MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩" ...
- capacilitys docker中的权限设置 privileged
capacilities是docker 中对docker权限设置的重要方面: http://blog.csdn.net/wangpengqi/article/details/9821227 上面这篇文 ...
- struts2的验证
1.原理 当浏览器向服务器提交表单数据时,在服务器端需要对表单数据的有效性进行校验. “校验方法”会在“业务方法”之前调用. 2.实现验证的两种方式 struts2校验的两种实现方法: 1. 手工编写 ...
- javascript中window.location.search方法简介
window.location.search方法是截取当前url中"?"后面的字符串,示例如下: 例如:http://www.firefoxchina.cn/?ntab截取后的字符 ...
- JS容易理解错误的地方
在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {}; 2 function sayHello(hi) ...
- 安卓下拉刷新空间SwipeRefreshLayout的基本使用
1.先写布局文件 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" androi ...
- java实现极简的LRU算法
import java.util.LinkedHashMap;import java.util.Map; /** * LRU (Least Recently Used) */public class ...
- LOJ tangjz的背包
题目大意 有 \(n\) 个物品, 第 \(i\) 个物品的体积为 \(i\) 令 \(f(x)\) 为 选择 \(m\) 个物品, 体积和为 \(x\) 的方案数 令 \(V = \sum_{i=1 ...