C# 将blob字符串转换为jpg文件
在我的方法中,我得到一个参数,它是表示blob文件的字符串。这根弦是巨大的,以下是它的开始:C# 将blob字符串转换为jpg文件,c#,image,blob,C#,Image,Blob,在我的方法中,我得到一个参数,它是表示blob文件的字符串。这根弦是巨大的,以下是它的开始: "iVBORw0KGgoAAAANSUhEUgAAAHgAAAA3CAMAAADwtH5ZAAADAFBMVEX//////P///v/+///3/f3//f+zoJL3///15/SKWy fZ3NPw///w/v78+/n++vH79vP9/f35/fz1+/n0+/T/+vj/+v3p7Ne6MgK8UgDKYBTTSxfXTTC+dWaHMBT///v4///49vf9 //7+/v77///8
"iVBORw0KGgoAAAANSUhEUgAAAHgAAAA3CAMAAADwtH5ZAAADAFBMVEX//////P///v/+///3/f3//f+zoJL3///15/SKWy
fZ3NPw///w/v78+/n++vH79vP9/f35/fz1+/n0+/T/+vj/+v3p7Ne6MgK8UgDKYBTTSxfXTTC+dWaHMBT///v4///49vf9
//7+/v77///8////9/zo2L+zTAHEZgazSQ/MgAjIqEWqUB7KdhbboELEdDm/dBfNbTG+moS5Sh/n9fbu+vD/8vH9/Pfx///
+9fr4//3//Pv4+fSSTxvGgAbOlV6bSwDKoW2wdlC6bRPLo3DElEqyPwjbcwDOpCuzNwDWgUDpdD7Un22yeln7/+71//368"
如何将其转换为.jpg文件
字符串是base64。从获取字节开始:
string base64string = "iVBORw0KGgoAAAANSUhEUgAAAHgAAAA3CAMAAADwtH5ZAAADAFBMVEX//////P///v/+///3/f3//f+zoJL3///15/SK"; // Put the full string here
byte[] blob = Convert.FromBase64String(base64string);
File.WriteAllBytes(@"C:\Users\user\Desktop\fic.jpg", blob);
byte[] data = Convert.FromBase64String(theString);
当它是文件图像时,只需将其写入:
File.WriteAllBytes("test.jpg", data);
这是我在WebAPI中保存图像的方法 您可以根据Base64内容获取文件扩展名base,并将其组合为
filePath
as
[HttpPost]
[Route("api/dashboard/saveThumbnail")]
public HttpResponseMessage SaveThumbnail()
{
//string base64string = "iVBORw0KGgoAAAANSUhEUgAAAHgAAAA3CAMAAADwtH5ZAAADAFBMVEX//////P///v/+///3/f3//f+zoJL3///15/SK";
var httpRequest = HttpContext.Current.Request;
string base64string = httpRequest["Thumbnail"]; // get from request
byte[] blob = Convert.FromBase64String(base64string);
var fileExt= GetFileExtension(base64string );
var filePath = string.Format("{0}\{1}.{2}", @"C:\Picture", "mypicture", fileExt);
File.WriteAllBytes(filePath, blob);
}
方法获取基于base64字符串的文件类型
public string GetFileExtension(string base64String)
{
var data = base64String.Substring(0, 5);
switch (data.ToUpper())
{
case "IVBOR":
return "png";
case "/9J/4":
return "jpg";
case "AAAAF":
return "mp4";
case "JVBER":
return "pdf";
case "AAABA":
return "ico";
case "UMFYI":
return "rar";
case "E1XYD":
return "rtf";
case "U1PKC":
return "txt";
case "MQOWM":
case "77U/M":
return "srt";
default:
return string.Empty;
}
}
你对那根绳子了解多少?Base-64编码?里面是什么?@HenkHolterman是的,是base64。