package test;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.kxml2.kdom.Element;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Test {
/**
* @param args
*/
@SuppressWarnings("restriction")
public static void main(String[] args)throws Exception {
//里面地址对应上面图片的namespace
SoapObject request = new SoapObject("http://webservice.wzkj.com/", "addTravelLog");
String uploadBuffer = null;
try{
FileInputStream fis = new FileInputStream("d:\\1.jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count = 0;
while((count = fis.read(buffer)) >= 0){
baos.write(buffer, 0, count);
}
uploadBuffer = (new BASE64Encoder()).encode(baos.toByteArray()); //进行Base64编码
fis.close();
}catch(Exception e){
e.printStackTrace();
}
//这个是配置参数
request.addProperty("userId","1");
request.addProperty("logType","1");
request.addProperty("shareId",0);
request.addProperty("content"," 我发表了一批日志");
request.addProperty("location","成都");
request.addProperty("longitude"," 10.254584");
request.addProperty("latitude"," 10.254584");
request.addProperty("title","如何5杀");
request.addProperty("logImg",uploadBuffer);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
Element[] header = new Element[1];
header[0] = new Element().createElement("http://webservice.wzkj.com/","hello");
header[0].setAttribute("http://webservice.wzkj.com/","token","e4rllW/nR6gRuoY/iDx3S7NjghAeQLmyCdMJ5pxDj+OnJOF2g4CxjK98SYgdgLI/itiasGlRAXcKhRzL+G8pzN44/jQDDUr/aT/tnqFxFGBaZ3PKhON9pyzIM7Y4EGYEpLmVKrkRzYDN4PMxT4Plbz04vSRxMiMhuexkgni1SX0=");
envelope.headerOut=header;
envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = false;
try {
//对应图片上的soap:address
HttpTransportSE androidHttpTransport = new HttpTransportSE("http://127.0.0.1:8080/wzkj/webservice/friends");
//call的第一个参数对应图片上的soapAction=""
androidHttpTransport.call("", envelope);
SoapObject result = (SoapObject)envelope.bodyIn;
//这里我获取第一个数据
System.out.println(result.getProperty(0).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
简单例子
String uploadBuffer = null;
try{
FileInputStream fis = new FileInputStream("d:\\1.jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count = 0;
while((count = fis.read(buffer)) >= 0){
baos.write(buffer, 0, count);
}
uploadBuffer = (new BASE64Encoder()).encode(baos.toByteArray()); //进行Base64编码
fis.close();
System.out.println(uploadBuffer);
BASE64Decoder decoder = new BASE64Decoder();
byte[] b = decoder.decodeBuffer(uploadBuffer);
for(int i=0;i<b.length;++i)
{
if(b[i]<0)
{//调整异常数据
b[i]+=256;
}
}
//生成jpeg图片
String imgFilePath = "d://222.jpg";//新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
分享到:
相关推荐
在Android平台上进行远程图片的上传和下载是移动应用开发中常见的功能需求,尤其是在社交媒体、电商应用等场景下。本项目以“Android在Android远程上传以及下载图片---XFire框架”为主题,提供了一个Android应用源码...
在Android平台上进行文件的下载、上传以及解压是移动应用开发中的常见操作。在这个场景中,我们关注的是如何从Android设备向一个运行.NET服务的服务器上传文件,以及服务器端如何处理这些文件。以下是对这个主题的...
本项目基于Eclipse IDE,实现了Android手机程序对Web Service的调用,具体包括拍照功能、图片上传以及XML处理和base64编码解码技术。 1. **Android拍照功能**: 在Android平台上,我们可以使用`Camera`类来实现...
Android KSOAP调用WebService批量上传多张图片是一个常见的任务,特别是在移动应用开发中。这篇文章将详细解释如何在Android中利用KSOAP库与WebService交互,实现批量上传图片到服务器。 首先,KSOAP是Android中...
6. **第6章:Android中的网络数据上传及WebService调用** - MultipartEntity或RequestBody用于文件上传。 - SOAP或RESTful方式调用Web服务,处理WS安全认证。 - JSON-RPC或XML-RPC的使用,与服务器进行远程方法...
7. **文件名称列表解析**:“MyQQ”可能是项目源代码的主目录,包含了整个应用的源码文件,如服务器端的服务接口实现、数据库连接代码、客户端的网络请求代码以及UI界面的布局文件等。 总的来说,这个项目为初学者...
5. **第6章:Android中的网络数据上传及WebService调用** - POST和PUT方法上传数据到服务器,处理文件上传和表单数据。 - SOAP协议的理解,以及如何在Android中调用SOAP WebService。 - RESTful API的使用,发送...
04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...
在压缩包“workspace1”中,可能包含了实现这一功能的相关代码、配置文件和测试数据。代码可能涉及了Web服务的客户端和服务端开发,使用了如Java、Python或.NET等编程语言,以及可能的GIS库,如GDAL、geopandas或JTS...
4. NetMonitor:这是一个可能的Android应用项目名称,包含实际的代码文件,用于实现上述网络监控功能。 总之,这个压缩包包含了一个Android应用的源码,该应用可能用于网络监控,具备了HTTP速度测试、RSSI扫描、...
第二天 1> 单元测试 2> 查看与输出日志信息 3> 文件操作 4> 往SDCard读写文件 5> XML解析(SAX/DOM/PULL),写xml文件 6> SharedPreferences 第三天 1> SQLite数据库添删改查操作 A.创建数据库 B....
项目名称 Android手机视频客户端:本系统专为视频网站与电视媒体而开发的手机视频客户端,通过该软件,手机用户可以在线观看视频,在线播放MP3,上传视频,下载视频,视频搜索,视频共享、了解最新最热视频资讯。...
视频名称 源码 ----------------------...复杂UI界面设计、GPS与GoogleMap、自定义View、Ubuntu Linux下使用C语言面向底层开发、通过JNI进行底层组件调用、图形与OpenGl ES、界面特效、下载修改及编绎Android框架代码。
"rancherita-master"可能表示项目已上传到Git仓库,且master分支代表主分支,是最稳定的代码版本。 通过学习和分析Rancherita项目,开发者可以加深对Java Web服务消费、前端交互设计以及现代软件开发流程的理解。...
视频名称 源码 ----------------------...复杂UI界面设计、GPS与GoogleMap、自定义View、Ubuntu Linux下使用C语言面向底层开发、通过JNI进行底层组件调用、图形与OpenGl ES、界面特效、下载修改及编绎Android框架代码。