.NET将图片Base64字符串还原为图片(jpg格式)并保存到本地
1. 了解Base64字符串的形式是:data:image/jpeg;base64,字符串
2 .Base64字符串转换为图片的代码实现:
string[] str = base64Str.Split(','); //base64Str为base64完整的字符串,先处理一下得到我们所需要的字符串
byte[] imageBytes = Convert.FromBase64String(str[1]);
//读入MemoryStream对象
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
memoryStream.Write(imageBytes, 0, imageBytes.Length);
// 转成图片
Image image = Image.FromStream(memoryStream);
// 图片名称
string iname = DateTime.Now.ToString("yyMMddhhmmss");
image.Save(Server.MapPath("pic\\") + iname + ".jpg"); // 将图片存到本地
特别注意:如果使用AJAX从前台得到base64字符串,需要做如下处理:
base64Str.Replace(" ", "+")
这主要是因为AJAX在传输过程中将字符串中的“+”全部变为空格
.NET将图片Base64字符串还原为图片(jpg格式)并保存到本地的更多相关文章
- python 将base64字符串还原为图片
今天弄验证码的时候发现,验证码的图片的src竟然是下面的这么一个一串字符串,吓到,好像不可以http请求的,第一次见,就好尴尬,去网上搜索了一下,说是: 这是Data URI scheme. data ...
- python 将base64字符串还原成图片保存
import os,base64 strs='''/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCI ...
- base64字符串转化成图片
package com.dhht.wechat.util; import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder; import ja ...
- Java,获取文件的Base64字符串,解码Base64字符串还原文件
在jdk1.8以前,获取文件Base64字符串需要用到第三方库,从1.8开始,Java中引入了Base64相关的类 以下是代码示例 获取文件的Base64编码字符串 import java.io.Fi ...
- JQuery文件上传及以Base64字符串形式呈现图片
一:上传之 首先,你必然得有一个 file input,如下: <td> <img id="imgGif" style="display: no ...
- C# Base64字符串转换成图片及图片转换为Base64
最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下 字符串与Base64相互转换 ...
- java 图片Base64字符串转图片二进制数组
public static byte[] base64ToImgByteArray(String base64) throws IOException{ sun.misc.BASE64Decoder ...
- Kotlin/Java Base64编码和解码(图片、文件)
原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...
- 上传文件不落地转Base64字符串
1. 问题描述 因需调用第三方公司的图像识别接口,入参是:证件类型.图像类型.图片base64字符串,采用http+json格式调用. 本来采用的方式是:前端对图片做base64处理,后端组装下直接调 ...
随机推荐
- JS中循环绑定遇到的问题及解决方法
本文是原创文章,如需转载,请注明文章出处 在工作中,有时会有这样的需求:在一个页面上添加了6个按钮,然后分别为他们绑定点击事件监听器,当点击按钮1时,输出1,当点击按钮2时,输出2. 循环绑定代码如下 ...
- 判断iframe是否加载完成的完美方法
var iframe = document.createElement("iframe"); iframe.src = "http://www.jb51.net" ...
- mina-http之坑
TCP是流式协议,不保证一次通信传输完整的包,当这种情况发生在mina-http时会产生严重的bug,图中红框部分只是将前后收到的数据拼在一起,但下面处理的还是最近收到的不完整的msg:此为大坑! 轻 ...
- ALT+TAB切换时小图标的添加 界面透明 屏幕大小 竖行字体 进程信息
一,ALT+TAB切换时小图标的添加 Dlg类中添加变量 protected: HICON m_hIcon; #define IDR_MAINFRAME 128 ICON IDR_MAINFRAME, ...
- MYSQL命令行使用指南
一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -u ...
- 如何用php生成1-10之间的不重复随机数
今天跟大家分享一个PHP中的案列,大家一起学习学习. 使用shuffle函数生成随机 ...
- 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)>为大家介绍了mybatis中别名的使用,以及其源码.本篇将为大家介绍TypeH ...
- Android开发--TableLayout的应用
1.简介 TableLayout为表格框架结构
- C++迟后联编和虚函数表
先看一个题目: class Base { public: virtual void Show(int x) { cout << "In Base class, int x = & ...
- 坑备忘error: expected class-name before '{' token
今日重构之前的代码,修改了命名空间,然后一处派生的子类定义处总是总是报error: expected class-name before '{' token,网上查了查原因,出现这种情况大致有两种情况 ...