通过Java发送的c#接收图像(android)

时间:2016-05-26 02:50:51

标签: java c# android

我在java / c#中遇到图像问题。 我想从我的Android设备发送图像并将其接收到我的c#应用程序。 这是我的android代码:

private void sendVideo(ByteArrayOutputStream rawImage)
    {
        byte[] byteArray2 = rawImage.toByteArray();
        byte[] byteArray;
        String test = Base64.encodeToString(byteArray2, Base64.DEFAULT);
        byteArray = test.getBytes();
        String metaData = String.valueOf(clientID)+String.valueOf(videoCounter);
        byte[] metaDataBuff = metaData.getBytes();
        if (UDP) {
            udpBuffSend = new byte[60000];
            System.arraycopy(metaDataBuff, 0, udpBuffSend, 0, 8);
            System.arraycopy(byteArray, 0, udpBuffSend, 8, byteArray.length);

这是我的c#代码:

string Base64ImageData = Convert.ToBase64String(udpBuff, 8, udpBuff.Length - 8);
                            byte[] imageBytes = Convert.FromBase64String(Base64ImageData);
                            MemoryStream ms = new MemoryStream(imageBytes, 0,
                            imageBytes.Length);

                           ms.Write(imageBytes, 0, imageBytes.Length);
                           masterPicture.Image = Image.FromStream(ms,true);

但它抛出异常“无效的参数”。 问题是什么? 感谢。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

byte[] imageBytes = Convert.FromBase64String(Base64ImageData);
Image image;
using (MemoryStream ms = new MemoryStream(imageBytes))
{
    image = Image.FromStream(ms);
}
masterPicture.Image = image;