0

从我的 android 应用程序中,我将图像发送到 C# 服务器,将其转换为 Base64

@Override
public void onPictureTaken(byte[] data, Camera camera) 
    {
    String image = Base64.encodeToString(data, Base64.DEFAULT);
    sendtoserver(image);
    }

从服务器端我收到了一个字符串,但不知道如何转换它并保存它。为了帮助我得到这个字符串,告诉我如何转换它并将它保存在 C#

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
4

1 回答 1

1

你试过用Convert.FromBase64String(string s)吗?

来源:http: //msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx

更新(发布在此处而不是在评论中,因为代码会显示得更好)您的 Base64 表示不正确。对于您在评论中给出的图像,Base64 表示的长度为 339801 个字符。

我使用以下代码生成 Base64 表示:

string path = @"C:\1XlqZF2.jpg";
Image img = Image.FromFile(path);
byte[] arr;
using (MemoryStream ms = new MemoryStream())
{
  img.Save(ms, ImageFormat.Jpeg);
  arr =  ms.ToArray();
}

String b64 = Convert.ToBase64String(arr);

你正在使用什么Base64类?我在 MSDN 上找不到。

于 2013-03-22T05:48:49.220 回答