欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 通过webservice上传多张图片到指定服务器详解

程序员文章站 2023-12-16 10:11:22
android 通过webservice上传多张图片到指定服务器详解 当你浏览这个的时候相信你对webservice的基本应用已经有一定的了解了,若是还没有明白的小伙伴,...

android 通过webservice上传多张图片到指定服务器详解

当你浏览这个的时候相信你对webservice的基本应用已经有一定的了解了,若是还没有明白的小伙伴,可以看我前面写的文章,这几天在开发一款app,需要上传图片到指定服务器吧,但是我刚开始以为在网上面应该有这样的好文章的吧,结果我在网络上找了好多代码,在传递图片的过程中,遇到各种bug,真是国人的东西就是喜欢复制别人的,自己不动手检验一下代码的正确性,哎,我也是无语了,然后我决定花点时间来填补一下这个空缺,写了这一片博文,让小伙伴们不走弯路,,首先我修改的网上的错误代码,android端代码如下:这个是在异步类的一个方法里面,doinbackground(string... params)

inputstream fis; 
  try { 
  fis = new fileinputstream(params[0]+params[1]);//params[0]为文件路径,params[1]为文件名称 
  bytearrayoutputstream baos = new bytearrayoutputstream(); 
  byte[] buffer = new byte[4096]; 
  int count =-1; 
  string uploadbuffer = null ; 
  try { 
   while((count = fis.read(buffer))!=-1){ 
   baos.write(buffer, 0, count); 
   uploadbuffer=base64.encodetostring(baos.tobytearray(), base64.default); //进行base64编码base64.default这个不能换成count 
   } 
   soapobject soapobject=webservicebase.getbasesimpledata(params[1],uploadbuffer,"getimagefromandroid",agbcapi.taskserviceurl); 
   reque=soapobject.getproperty(0).tostring(); 
  } catch (ioexception e) { 
   e.printstacktrace(); 
  } 
  } catch (filenotfoundexception e1) { 
  e1.printstacktrace(); 
  } 


服务端代码

public string getimagefromandroid(string filename, string image){ 
outputstream fos = null; 
try{ 
date date=new date(); 
dateformat format=new simpledateformat("yyyy-mm-dd"); 
string time=format.format(date); 
string todir = "d:\\program files\\images\\"+time+"\\"; //存储路径 
byte[] buffer = new base64decoder().decodebuffer(image); //对android传过来的图片字符串进行解码 
file destdir = new file(todir); 
if(!destdir.exists()) 
destdir.mkdir(); 
fos = new fileoutputstream(new file(todir,filename)); //保存图片 
fos.write(buffer); 
fos.flush(); 
fos.close(); 
return "上传图片成功!" + "图片路径为:" + todir; 
}catch (exception e){ 
e.printstacktrace(); 
} 
return "上传图片失败!"; 

这样只要调用服务端方法就可以上传图片了

然而,你认为到这就完了吗???没有没有啦!这只能是一张一张图片的上传,可是有时候我们需要批量的图片上传,怎么办呢?既然一张图片都搞定了,何况多上图片,用一个循环不就实现了,然而的然而,都怪我们年少轻狂呀,事情往往不是这个简单的,请看这篇文章:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: