WP7中的图像流到base64字符串

时间:2012-05-03 10:39:49

标签: windows-phone-7 windows-phone-7.1 windows-phone windows-phone-7.1.1

在我的wp7应用程序中我从媒体库中选择图像,我想得到该图像的base64字符串,因为我将它发送到我的wcf服务以在服务器上创建图像。获取base64字符串的代码如下:

void taskToChoosePhoto_Completed(object sender, PhotoResult e)
{
    if (e.TaskResult == TaskResult.OK)
    {
        fileName = e.OriginalFileName;
        selectedPhoto = PictureDecoder.DecodeJpeg(e.ChosenPhoto);
        imgSelected.Source = selectedPhoto;
        int[] p = selectedPhoto.Pixels;
        int len = p.Length * 4;
        result = new byte[len]; // ARGB

        Buffer.BlockCopy(p, 0, result, 0, len);
        base64 = System.Convert.ToBase64String(result);
    }
}  

但在服务器上,此代码会创建图像文件,但格式无效。我交叉验证了base64字符串,但我认为app给出了错误的base64string,原因可能是帮助找出问题。

1 个答案:

答案 0 :(得分:1)

您正在服务器上发送base64编码的像素。我不确定这是你需要的。如何将Stream转换为base64字符串?

var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
base64 = System.Convert.ToBase64String(result);