客户端通过base64上传bitmap服务器

首先致谢:http://www.jb51.net/article/129743.htm

咱们不是代码的生产者,只是代码的搬运工。

场景描述:Android客户端需要上传头像等图片到服务器,经双方协商决定采用base64方式上传。但是客户端直接将bitmap转成base64上传,服务端却无法解析。

问题剥析:经查验,发现客户端直接上传的base64,缺少头文件,导致服务器无法解析。

头文件格式:data:image/*;base64, +base64字符串 //*替换成客户端转换的png/jpg/jpeg等格式

尝试解决:

  思路一:接口添加字段,客户端需要上传格式字段    ——缺点:接口复杂化,多字段,不利于维护

  思路二:双方约定一个格式,使用统一格式编码解码   ——缺点:接口限制性太高,缺少灵活性

  思路三:直接在客户端对于生成的base64字符串进行拼接  ——优点:只需要在客户端进行额外处理接口,不必改动接口

data:image/*;base64, +base64字符串 //*替换成客户端转换的png/jpg/jpeg等格式

最终方案:采用思路三,考虑到复用性问题,直接在工具类中统一完成拼接,得到完美解决。

附:

 1 /**
 2  * 通过Base64将Bitmap转换成Base64字符串
 3  * @param bit
 4  * @return
 5  */
 6 public String Bitmap2StrByBase64(Bitmap bit){
 7    ByteArrayOutputStream bos=new ByteArrayOutputStream();
 8    bit.compress(CompressFormat.JPEG, 40, bos);//参数100表示不压缩
 9    byte[] bytes=bos.toByteArray();
10    return Base64.encodeToString(bytes, Base64.DEFAULT);
11 }

通过Base64将Bitmap转换成Base64字符串

原文地址:https://www.cnblogs.com/lizhilin2016/p/9122530.html

时间: 2024-10-20 22:24:49

客户端通过base64上传bitmap服务器的相关文章

客户端的文件上传到服务器,服务器返回文件的路径

客户端的文件上传到服务器,服务器返回文件的路径 返回信息,客户端将文件保存 客户端: <?php header('content-type:text/html;charset=utf8'); $url = 'http://192.168.1.118/legcc/aaa.php';//访问的服务器的地址 $curl = curl_init(); $path = 'D:\www\ceshi\a02.jpeg';//客户端文件的绝对路径 $source = file_get_contents($pat

将android客户端的错误日志压缩上传到服务器

原文:将android客户端的错误日志压缩上传到服务器 源代码下载地址:http://www.zuidaima.com/share/1550463760370688.htm

使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不够. 下面我们就说说,利用canvas 生成带水印的图片. 1.我们要实现一下效果 2.创建一个canvas var canvas = document.createElement('canvas'); var time = new Date(); var logoCanvas =time+' '+

手机选取图片上传到服务器

初学安卓四个月不到的我,可能入门也算不上.边学边摸索,慢慢地能在百度上找到正确的能用的代码了,这应该就是我学这么久得到的进步了. 今天花了一天的时间,实现了上传头像和更改头像的功能.大部分的代码都是copy过来的,大概能看懂,知道怎么用,仅此! 好的,忙了一天,做个自我总结~ 在这里先总结上传头像功能的实现: 思路: 创建一个activity,简单的关联一个有imageView和button的布局.当点击imageView的时候,弹出一个dialog,该dialog可以调用系统的拍照.相册,这样

Android拍照获取照片路径并上传至服务器+Servlet代码

先来客户端代码[这里只写了主要代码] 先来张效果图, iv_photo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new ActionSheetDialog(SendGoodsDetailsActivity.this).builder().setTitle("上传车辆照片") .setCancelable(false).setCanceledOnTouchOuts

HTML5 本地裁剪图片并上传至服务器(转)

很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 5 步.步骤繁琐不说,当很多用户上传图片的时候也很影响服务器性能. HTML5 的出现让我们可以更方便的实现这一需求.虽然这里所说的技术都貌似有点过时了(前端界的“过时”,你懂的),但还是有些许参考价值.在这里我只说一下要点,具体实现同学们慢慢研究. 下面奉上我自己写的一个demo,在输入框中选好

php form 图片上传至服务器上

本文章也是写给自己看的,因为写的很简洁,连判断都没有,只是直接实现了能上传的功能. 前台: <form action="upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="myfile" /> <input type="submit" value=

今天上传公司服务器出现的.net framework版本错误问题

今天做好一个网站(.net4.0),里面有静态页面也有aspx页面,发布后,满心欢喜的上传到服务器,运行后,静态页没有问题,可是通过导航栏一旦点击进入aspx页面,就会出现错误 ,提示web.config的target framework为4.0,改成2.0后页面其他地方报错,于是想到生成和发布应该选择2.0,于是回到.net 2010 里,在属性页里的生成选项,选择2.0(下面参考别人文章2.0版本也能用4.0的东西) 生成提示很多错误,最多的是不支持linq命名空间,只能暂时忍了删了(以后再

[转载]Java动态填充word文档并上传到服务器

一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是局限于windows平台,往往许多JAVA程序运行于其他操作系统,在此不讨论该方案.二是POI. 但是它的excel处理还凑合, word模块还局限于读取word的文本内容,写word文件的功能就更弱:还有一个要命的地方,处理doc格式和处理docx格式的类几乎完全不同,要分开针对不同的格式写不同的