我已将字节更改为base64string并获取字符串长度:80,000。
var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
var base64 = System.Convert.ToBase64String(result);
上面的代码,给我字符串长度:80,0000
但是我将字节转换为图像后,将图像转换为字节。然后将字节更改为base64string,我得到字符串长度:170,000。
var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
var base64 = System.Convert.ToBase64String(result);
Image myImage = new Image();
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ChosenPhoto);
myImage.Source = bmp;
BitmapImage bm = img.Source as BitmapImage;
base64 = System.Convert.ToBase64String(image2byte(bm));
和image2byte的代码
private byte[] image2byte(BitmapImage myimage)
{
MemoryStream ms = new MemoryStream();
WriteableBitmap wb = new WriteableBitmap(myimage);
wb.SaveJpeg(ms, myimage.PixelWidth, myimage.PixelHeight, 0, 100);
return ms.ToArray();
}
上面的代码给出字符串长度base64:170,000
有谁知道为什么会发生这种情况? 我在Windows Phone上使用了这种方法。