0

作为我项目的一部分,我需要将图像上传到服务器。在服务器部分,我有一个 Web 服务,它将接受字节数组并转换为图像。在我的客户端部分(Android + ksoap2)中,我使用 Base64 编码将图像转换为 byte[] 数组。但我无法将字节数组传递给 Web 服务。它显示了一些序列化问题。如何使用 ksoap2 将字节数组传递给 Web 服务。请帮助我.....

4

1 回答 1

1

尝试使用此代码

使用序列化字节数组MarshalBase64

    MarshalBase64 marshal = new MarshalBase64();
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    bmp.compress(CompressFormat.PNG, 100, out);
    byte[] raw = out.toByteArray();

    SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
        OPERATION_NAME);
    request.addProperty("image", raw);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
        SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    marshal.register(envelope);
    HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);

    try

    {

        httpTransport.call(SOAP_ACTION, envelope);
        Object response = envelope.getResponse();
        }

    catch (Exception exception)

    {
        exception.printStackTrace();

    }

}

参考使用 ksoap android 序列化字节数组

于 2011-03-26T09:13:25.850 回答