无法将存储在资源文件中的图像转换为Asp.net中的Base64字符串[C#]

时间:2016-11-28 12:21:21

标签: c# asp.net

我正在尝试将图像存储在资源文件中,然后尝试将其转换为base64字符串。但它下面生成的垃圾字符串是我的代码:

String imgBase64=Base64FromByteArray(ExtractResource(Properties.Resources.products_tipp_110));

public static byte[] ExtractResource(Bitmap image)
    {
        MemoryStream ms = new MemoryStream();

        image.Save(ms, ImageFormat.Png);
        if (ms == null)
            return null;
        byte[] imageByteArray = new byte[ms.Length];
        ms.Read(imageByteArray, 0, imageByteArray.Length);
        return imageByteArray;
    }

private static string Base64FromByteArray(byte[] image)
    {
        return "base64:" + Convert.ToBase64String(image);
    }


output: 
   base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAA..... with all A's

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此byte[] imageByteArray = ms.ToArray()将内存流转换为字节数组,如下所示。

另外,请确保您使用png

时的图片为ImageFormat.Png
String imgBase64=Base64FromByteArray(ExtractResource(Properties.Resources.products_tipp_110));

public static byte[] ExtractResource(Bitmap image)
    {
        MemoryStream ms = new MemoryStream();

        image.Save(ms, ImageFormat.Png);
        if (ms == null)
            return null;
        byte[] imageByteArray = ms.ToArray();;
        return imageByteArray;
    }

private static string Base64FromByteArray(byte[] image)
    {
        return "base64:" + Convert.ToBase64String(image);
    }

答案 1 :(得分:0)

给这个函数Image和Image的格式,它会返回你的字符串。

editText