android上传图片到.net服务器,下传图片到服务器有关问题(.net 写的WebService)下传后的base64 解析不了...

上传图片到服务器问题(.net 写的WebService)上传后的base64 解析不了

要做一个上传头像的功能,主要想法是通过将图片转成base64 提交到.net 的WebService 然后在服务器解析保存,但是出错了

14374681.gif

错误是

SoapFault - faultcode: 'soap:Server' faultstring: 'System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.Runtime.Serialization.SerializationException: 输入流是无效的二进制格式。开始内容(以字节为单位)是: FF-D8-FF-E0-00-10-4A-46-49-46-00-01-01-00-00-01-00...

android 客户端主要代码:

public String upload(String fileName, String imageBuffer){

String nameSpace = "http://tempuri.org/";

String methodName = "UploadPhoto";

String soapAction = "http://tempuri.org/UploadPhoto";

String url = "http://192.168.0.102:8007/androidapi/user/uploadfilesservice.asmx";//后面加不加那个?wsdl参数影响都不大

//建树webservice连接对象

org.ksoap2.transport.HttpTransportSE transport = new HttpTransportSE(url);

transport.debug = true;//是否是调试模式

//设置连接参数

SoapObject soapObject = new SoapObject(nameSpace,methodName);

soapObject.addProperty("fileName", fileName);  //参数1   图片名

soapObject.addProperty("imageBuffer", imageBuffer);   //参数2  图片字符串

//soapObject.addProperty(pi);//将自定参数参加恳求对象中

//设置返回参数

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);//soap和谈版本必须用SoapEnvelope.VER11(Soap V1.1)

envelope.dotNet = true;//重视:这个属性是对dotnetwebservice和谈的支撑,若是dotnet的webservice 不指定rpc体式格式则用true不然要用false

envelope.bodyOut = transport;

envelope.setOutputSoapObject(soapObject);//设置恳求参数

//nvelope.addMapping(nameSpace,"User",user.getClass());//传对象时必须,参数namespace是webservice中指定的, name是办事器类型的名称, claszz是自定义类的类型

try {

transport.call(soapAction, envelope);

//SoapObject sb = (SoapObject)envelope.bodyIn;//办事器返回的对象存在envelope的bodyIn中

Object result = envelope.getResponse();

//       User us= (User)envelope.getResponse();//直接将返回值强迫转换为已知对象

//       return us.getName() + us.getAge();

if(result!= null)

{

System.out.println("result---->"+result.toString());

}

else

{

System.out.println("result---->null");

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (XmlPullParserException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch(Exception ex){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值