c 处理基于java服务端byte[]数组接收图片( xsd__base64Binary)

本文介绍了如何使用C语言作为客户端,通过gSOAP库调用Java服务端的Web服务接口,将图片转换为base64编码并以byte[]数组形式传输。详细阐述了实现过程,包括C端代码生成和数据处理的步骤。
摘要由CSDN通过智能技术生成

背景:java端基于webservice实现服务端,c作为客户端,通过gsoap传输图片给服务端。

实现步骤:

1、c端通过服务端wsdl文件生成客户端代码,图片接收部分的结构体如下:

struct xsd__base64Binary{
	unsigned char *__ptr;
	int __size;
	char *id;	/* optional element of type xsd:string */
	char *type;	/* optional element of type xsd:string */
	char *options;	/* optional element of type xsd:string */
};

2、读取图片数据,并赋值给次结构体

merchantLogoByte.__ptr = soap_malloc( &add_soap, size);
memcpy(merchantLogoByte.__ptr, data, size); //data 图片数据
merchantLogoByte.__size = size;            //size图片大小

3、代码示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "AppWebServiceSoapBinding.nsmap"
#include "soapH.h"
#include "soapStub.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值