我想将sql db中的图像显示到我的网页, 我得到了格式的图像 的 {字节[6317]} 如何将其转换为 Base64string 。
答案 0 :(得分:1)
试试这个
Byte[] bytes = File.ReadAllBytes("path");
String file = Convert.ToBase64String(bytes);
And correspondingly, read back to file:
Byte[] bytes = Convert.FromBase64String(b64Str);
File.WriteAllBytes(path, bytes);
答案 1 :(得分:0)
由于你指定你想使用JavaScript转换它,你可以使用Base64 JavaScript库来完成它。它有以下方法:
toByteArray - 获取base64字符串并返回一个字节数组
和
fromByteArray - 获取一个字节数组并返回一个base64字符串
这是一个如何做到这一点的例子。首先,从ASP.NET MVC返回一个这样的响应:
return Json(new { Img = imageBytes }, JsonRequestBehavior.AllowGet);
然后在客户端上,您可以使用jQuery getJson()函数从MVC ImageController获取JSON响应:
$.getJSON("/Image",function(result){
$.each(result, function(i, field){
var byteArray = result.Img;
var base64 = base64js.fromByteArray(byteArray);
$("#mainimg").attr('src', 'data:image/jpeg;base64,' + base64);
});
});
您可以从这里下载base64.js库:
https://github.com/beatgammit/base64-js
如果您不喜欢base64 javascript方法,可以使用C#转换服务器上的字节数组:
String base64string = Convert.ToBase64String(imageBytes);
return Json(new { Img = base64string }, JsonRequestBehavior.AllowGet);
这将返回JSON Result中的Base64字符串。然后,您可以轻松地从jQuery设置您的img源代码,如Javascript方法示例中所示。
答案 2 :(得分:0)
试用此代码,
byte[] imgBytes = (byte[])yourbytedata;
string base64String = Convert.ToBase64String(imgBytes, 0, imgBytes.Length);
string htmlstr = "data:image/png;base64," + base64String;