文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-06-06 04:17

关注

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 "上传图片失败!"; 

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

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

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

您可能感兴趣的文章:Android将图片上传到php服务器的实例代码Android读取服务器图片的三种方法Android 通过Base64上传图片到服务器实现实例Android选择图片或拍照图片上传到服务器Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法Android Socket服务端与客户端用字符串的方式互相传递图片的方法Android使用post方式上传图片到服务器的方法Android异步上传图片到PHP服务器Android从服务器获取图片的实例方法android传送照片到FTP服务器的实现代码


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯