当前位置:编程学习 > C#/ASP.NET >>

接口开发,带string和struct参数方法编写,图片base64Binary编码编写(c#开发)

接口名称:
Std::string SendVehiclePass(std::string VehiclePassInfo, struct xsd__base64Binary PlatePicData, struct 

xsd__base64Binary CarPic1, struct xsd__base64Binary CarPic2, struct xsd__base64Binary CarPic3)
参数说明:
VehiclePassInfo:过车信息详情xml,具体如下:
<?xml version="1.0" encoding=" UTF-8 " standalone="yes" ?>
<ROOT>
<XJIP>相机IP</XJIP>
<XJDKH>相机端口号</XJDKH>
<JGSK>经过时刻</JGSK>
<CDBH>车道编号</CDBH>
<HPHM>号牌号码</HPHM>
<HPYS>号牌颜色</HPYS>
<HPZL>号牌种类</HPZL>
<CLSD>车辆速度</CLSD>
<CWKC>车外廓长</CWKC>
<CSYS>车身颜色</CSYS>
<CLLX>车辆类型</CLLX>
<CLPP>车辆品牌</CLPP>
<SSYF>实时与否</SSYF>
</ROOT>
PlatePicData:车牌特征小图片信息,最大20K,可以为空,图片以JPEG格式压缩。
CarPic1:车辆图片1,最大1.5M,不能为空。
CarPic2:车辆图片2,最大1.5M,可以为空。
CarPic3:车辆图片3,最大1.5M,可以为空。
所有以上图片信息若超过规定大小请自行压缩。
车辆图片按照从左到右依次赋值,如果有一张图片,则赋值到CarPic1,有两张则依次赋值CarPic1,CarPic2,依此类推。

PlatePicData:只存车牌小图片。
struct xsd__base64Binary
{
unsigned char*  __ptr;//图片数据缓冲区
int  __size;//图片数据大小
};
Respond:返回值为xml字符串。格式如下:
<?xml version="1.0" encoding=" UTF-8 " standalone="yes" ?>
<ROOT>
<!—返回结果信息,0为调用成功,其它值为失败-->
<CODE>0</CODE>
<!—CODE为非0时,MESSAGE 字段为失败的原因,CODE为0时为空-->
<MESSAGE>失败时获取详细的失败信息</MESSAGE>
</ROOT>


我完成的部分代码:
 public static bool UploaderInfoPic(PassingVehicle vehicle)
        {
            string plateNbr;
            if (string.IsNullOrEmpty(vehicle.plateNbr))
            {
                plateNbr = "-";
            }
            else
            {
                plateNbr = vehicle.plateNbr;
            }
            string strVehicleInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
                                        "<ROOT>" +
                                        "<KKMY>" + GetDeviceInfo(vehicle.deviceNo).Substring(12) + "</KKMY>" +
                                        "<KKBH>" + GetDeviceInfo(vehicle.deviceNo).Substring(0, 12) + "</KKBH>" +
                                        "<JGSK>" + Convert.ToDateTime(vehicle.captureTime).ToString

("yyyyMMddhhmmssfff") + "</JGSK>" +
                                        "<CDBH>0" + vehicle.lane + "</CDBH>" +
                                        "<HPHM>" + plateNbr + "</HPHM>" +
                                        "<HPYS>" + vehicle.plateColor + "</HPYS>" +
                                        "<HPZL>" + vehicle.plateType + "</HPZL>" +
                                        "<CLSD>" + vehicle.vehicleSpeed + "</CLSD>" +
                                        "<CWKC></CWKC>" +
                                        "<CSYS>Z</CSYS>" +
                                        "<CLLX></CLLX>" +
                                        "<SSYF>0</SSYF>" +
                                        "</ROOT>";

            return true;
        }
        public static string GetDeviceInfo(string DeviceNbr)
        {
            DataTable dt = CSVProvider.ToDataTable2(DeviceKeyPath,true);
            Dictionary<string, string> DicKey = new Dictionary<string, string>();
            for (int i = 0; i < dt.Rows.Count;i++ )
            {
                DicKey.Add(dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString()+dt.Rows[i][2].ToString());
            }
            return DicKey[DeviceNbr];
        }
接下来不知道怎么写了?谁帮忙一下。。。。
C# 编码 struct 图片 String --------------------编程问答-------------------- Fields字段列表:
--------------------编程问答-------------------- 在写等待回复结贴。谢谢!!! --------------------编程问答-------------------- 没有人回复么?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,