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

 更新时间:2017年02月24日 11:45:22   转载 作者:厉害了我的江  
这篇文章主要介绍了Android 通过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 "上传图片失败!"; 

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

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

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

相关文章

  • Android常用对话框使用大全

    Android常用对话框使用大全

    我们随处可见对话框,该怎么制作?这篇文章主要为大家详细介绍了Android常用对话框使用大全,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android中增加新字库的方法

    Android中增加新字库的方法

    这篇文章主要介绍了Android中增加新字库的方法,本文分别讲解了不需要保留Google默认的中文字库、有需要保留Google默认的中文字库并在此基础上增加自己需要的新字库两种情况下的处理方法,需要的朋友可以参考下
    2015-04-04
  • 详解Android的.aar文件生成方法以及使用技巧

    详解Android的.aar文件生成方法以及使用技巧

    给大家详细分析一下在Android中关于.aar文件生成的方法以及相关是使用技巧分析,需要的朋友学习参考下吧。
    2017-12-12
  • Android自定义View圆形和拖动圆、跟随手指拖动效果

    Android自定义View圆形和拖动圆、跟随手指拖动效果

    单纯的自定义一个圆非常简单 只需要几步就完成 拖动圆添加实现触摸事件即可 。接下来通过本文给大家分享Android自定义View圆形和拖动圆、跟随手指拖动效果,感兴趣的朋友一起看看吧
    2017-09-09
  • Android中使用RecyclerView实现下拉刷新和上拉加载

    Android中使用RecyclerView实现下拉刷新和上拉加载

    RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。这篇文章主要介绍了Android中使用RecyclerView实现下拉刷新和上拉加载的相关资料,需要的朋友可以参考下
    2016-03-03
  • Android编程实现图片的颜色处理功能示例

    Android编程实现图片的颜色处理功能示例

    这篇文章主要介绍了Android编程实现图片的颜色处理功能,涉及Android拖动条的使用及图形颜色处理相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 详解Android中Activity运行时屏幕方向与显示方式

    详解Android中Activity运行时屏幕方向与显示方式

    本文主要对如何控制Android中Activity运行时屏幕方向与显示方式进行详细全面的实例讲解。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • Android Studio3.6中的View Binding初探及用法区别

    Android Studio3.6中的View Binding初探及用法区别

    这篇文章主要介绍了Android 中的View Binding初探及用法区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Android网络工具类NetworkUtils详解

    Android网络工具类NetworkUtils详解

    这篇文章主要为大家详细介绍了Android网络工具类NetworkUtils,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android Studio使用教程(三):常用快捷键

    Android Studio使用教程(三):常用快捷键

    这篇文章主要介绍了Android Studio使用教程(三):常用快捷键,本文还同时介绍了自动导包设置,需要的朋友可以参考下
    2015-05-05

最新评论