如何使用JavaScript将Byte []格式图像转换为Base64 String

时间:2014-09-27 07:27:05

标签: javascript jquery html5

我想将sql db中的图像显示到我的网页, 我得到了格式的图像 的 {字节[6317]} 如何将其转换为 Base64string

3 个答案:

答案 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)

使用Base64.js库的Javascript方法

由于你指定你想使用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

C#转换方法

如果您不喜欢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;