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;
總結
以上是生活随笔為你收集整理的java 图片请求_java请求C++客户端上传图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 狙击精英3机场远离狙击窝点怎么过
- 下一篇: Visual C++ 2008 runt