0

私のwp7アプリケーションでは、メディアライブラリから画像を選択しています。サーバー上に画像を作成するためにwcfサービスに送信しているため、その画像のbase64文字列を取得したいと考えています。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でエンコードされたピクセルを送信しています。これがあなたが必要としているものかどうかわかりません。Streambase64文字列に変換するのはどうですか?

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