c#异步将base64编码的字符串按定义好的目录转为图片并保存

c#异步将base64编码的字符串按定义好的目录转为图片并保存在开发程序的时候 ,经常会碰到要将图片转成base64位的格式存储并调用,或者将图片的路径转换为图片进行保存,图片转为base64编码这个很容易

欢迎大家来到IT世界,在知识的湖畔探索吧!

在开发程序的时候 ,经常会碰到要将图片转成base64位的格式存储并调用,或者将图片的路径转换为图片进行保存,图片转为base64编码这个很容易,这个不用多说,下面小编主要介绍一下异步将base64编码的字符串按定义好的目录转为图片并保存处理过程:

一、异步将base64编码的字符串按定义好的目录转为图片并保存的方法

c#异步将base64编码的字符串按定义好的目录转为图片并保存

public async Task SaveBase64Image(string strBase64, string imageDir = null, decimal subsidiary_id = 0)

{

///, string strBase64, string imageDir = null, decimal subsidiary_id = 0, decimal KindergartenID = 0

var task = Task.Run(() =>

{

try

{

if (subsidiary_id > 0 && !string.IsNullOrEmpty(imageDir))

{

string strbase64 = strBase64.Substring(strBase64.IndexOf(‘,’) + 1);

strbase64 = strbase64.Trim(‘\0’);

byte[] arr = Convert.FromBase64String(strbase64);

using (MemoryStream ms = new MemoryStream(arr))

{

Bitmap bmp = new Bitmap(ms);

//目录

string filePath = Path.GetDirectoryName(imageDir);

if (!Directory.Exists(Server.MapPath(filePath)))

{

//Log.Debug(“没有Directory”);

Directory.CreateDirectory(Server.MapPath(filePath));

}

//if (!Directory.Exists(filePath))

// Log.Debug(“没有Directory”);

//Directory.CreateDirectory(filePath);

//新建第二个bitmap类型的bmp2变量。

Bitmap bmp2 = new Bitmap(bmp, bmp.Width, bmp.Height);

//将第一个bmp拷贝到bmp2中

Graphics draw = Graphics.FromImage(bmp2);

draw.DrawImage(bmp, 0, 0);

draw.Dispose();

bmp2.Save(Server.MapPath(imageDir), System.Drawing.Imaging.ImageFormat.Jpeg);

ms.Close();

}

}

}

finally

{

}

});

await task;

}

#endregion

二、用post方式异步上传图片 调用上述方法:

c#异步将base64编码的字符串按定义好的目录转为图片并保存

#region 异步上传图片

var postUrl = “http://0.0.0.0/SaveCatalogBase64Image”;

WebRequest request7 = WebRequest.Create(postUrl);

request7.Method = “POST”;

//post传参数

string postdata = “strBase64=” + HttpContext.Current.Server.UrlEncode(model.strBase64) + “&subsidiary_id=1&imageDir=” + photourl;

byte[] bytes = Encoding.ASCII.GetBytes(postdata);

request7.Timeout = 5000;

request7.ContentType = “application/x-www-form-urlencoded”;

request7.ContentLength = postdata.Length;

Stream sendStream = request7.GetRequestStream();

sendStream.Write(bytes, 0, bytes.Length);

sendStream.Close();

#endregion

至此,c#用post方式异步上传图片方法已经介绍完毕,大家还有没有更好地解决方式,欢迎讨论!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/34668.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信