java 图片请求_java请求C++客户端上传图片

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

接口名称:std::string SendVehiclePass(std::string VehiclePassInfo, struct xsd__base64BinaryPlatePicData, struct xsd__base64Binary CarPic1, struct xsd__base64Binary CarPic2,struct xsd__base64Binary CarPic3)

PlatePicData:车牌特征小图片信息,最大 20K,可以为空。CarPic1:车辆图片 1,最大 1.5M,不能为空。CarPic2:车辆图片 2,最大 1.5M,可以为空。CarPic3:车辆图片 3,最大 1.5M,可以为空。所有以上图片信息若超过规定大小请自行压缩。车辆图片按照从左到右依次赋值,如果有一张图片,则赋值到 CarPic1,有两张则依次赋值CarPic1,CarPic2,依此类推。PlatePicData:只存车牌小图片。struct xsd__base64Binary{unsigned char* __ptr;//图片数据缓冲区int __size;//图片数据大小};

第一个参数xml没问题,后面图片的形式该怎么组装?传了过去图片不现实,好着急啊,求大佬指导

我的代码:

String endpoint = "http://ip:port/";//webservice服务地址

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);//设置服务请求路径

call.setOperationName(new QName("http://ip.org/ns.xsd", "SendAlarmPass"));//服务请求方法

call.addParameter("VehicleAlarmInfo", XMLType.XSD_STRING, ParameterMode.IN);

call.addParameter("PlatePicData", XMLType.XSD_BASE64, ParameterMode.IN);

call.addParameter("CarPic1", XMLType.XSD_BASE64, ParameterMode.IN);

call.addParameter("CarPic2", XMLType.XSD_BASE64, ParameterMode.IN);

call.addParameter("CarPic3", XMLType.XSD_BASE64, ParameterMode.IN);

call.setReturnClass(String.class);//设置服务请求后返回数据类型

ImgModel m = new ImgModel();

InputStream in = new FileInputStream("E:\\test22.jpg");

byte[] data = new byte[in.available()];

m.set__ptr(data);

m.set__size(12);

String res = (String) call.invoke(new Object[] {xml,StringUtil.ObjectToByte(m),StringUtil.ObjectToByte(models.get(0)),null,null });//服务请求时,传入的参数数据

System.out.println(res);

ImgModel类

public class ImgModel implements Serializable{

private static final long serialVersionUID = -218608721406561464L;

private byte[] __ptr;

private int __size;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值