0

在我的 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 字符串,但我认为应用程序给出了错误的 base64string 可能是什么原因,请帮助找出问题。

4

1 回答 1

1

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

var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
base64 = System.Convert.ToBase64String(result);
于 2012-05-03T10:54:23.903 回答