Android 通过webservice上传多张图片到指定服务器详解
2017-02-24 11:45
781 查看
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.geek-share.com/detail/2698908185.html
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- Android 通过webservice上传多张图片到指定服务器上面
- Android拍照选择图片通过webservice上传图片到到服务器
- Android ksoap调用webservice批量上传多张图片详解
- Android 更改头像(图片)并上传服务器功能Demo详解
- android通过Base64往服务器上传图片和对象
- Android通过WebService实现图片的上传和下载(一)
- PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案
- android通过Base64往服务器上传图片和对象
- 安卓实现拍照、在手机中选择图片通过webservice上传图片到服务器
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输)
- android通过Base64往服务器上传图片和对象
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输)
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输)
- Android 通过Base64上传图片到服务器
- Android 通过Base64上传图片到服务器
- c# wiform程序通过webservice上传图片到服务器
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输)
- Android-客户端上传多张图片到服务器功能实现
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架
- android通过Base64往服务器上传图片和对象