Base64实现android端图片上传到server端

Base64实现android端图片上传到server端

大家好,又见面了,我是全栈君。

首先要下载Base64.java文件http://iharder.sourceforge.net/current/java/base64/

将代码复制到project中。

然后上代码:

android端代码:

private void setPicToView(Intent picdata) {
            Bundle extras = picdata.getExtras();
            if (extras != null) {
                 mBitmap = extras.getParcelable(“data”);
                view_images.setImageBitmap(mBitmap);
                
                LogUtil.i(“运行reg”, “运行了吗?”);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                 //将bitmap一字节流输出 Bitmap.CompressFormat.PNG 压缩格式,100:压缩率。baos:字节流
                mBitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
                try {
                    baos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                byte[] buffer = baos.toByteArray();
                LogUtil.i(“图片大小”, buffer.length+””);
                //将图片的字节流数据加密成base64字符输出
                 photo = Base64.encodeBytes(buffer);
            }
        }

server端代码:

public static void SaveImages(String photo,String filePath){
        String imageName = new IPTimeStamp().getIPTimestamp()+”.png”;
        try {
            //对base64数据进行解码  生成字节数组。
            byte[] photoimg = new BASE64Decoder().decodeBuffer(photo);
            for(int i=0;i<photoimg.length;i++){
                if(photoimg[i]<0){
                    //调整异常数据
                    photoimg[i] += 256;
                }
            }
//            SysUtil.SysOut(“图片的大小:” + photoimg.length);  
            File file = new File(filePath,imageName);  //创建一个目录 往里面写入图片
            if (!file.exists()) {  
                file.createNewFile();                    //file.mkdirs()创建一个目录,file.createNewFile()创建一个文件
            }  
            FileOutputStream out = new FileOutputStream(file);  
            out.write(photoimg);  
            out.flush();  
            out.close();  
        } catch (Exception e) {
            // TODO: handle exception
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116574.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Redis很牛逼很秀!轻松实现实时订阅推送

    Redis很牛逼很秀!轻松实现实时订阅推送

  • Node.js【2】开发环境搭建(Windows、Linux&amp;Mac)

    Node.js【2】开发环境搭建(Windows、Linux&amp;Mac)

    2021年11月29日
  • shell语法基础[通俗易懂]

    shell语法基础[通俗易懂]文章目录1.shell基本语法1.1shell中的变量定义和引用1.2shell中无引号、单引号和双引号的区别1.shell基本语法1.1shell中的变量定义和引用(1)变量定义和初始化。shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言),和C语言不同。在shell编程中定义变量不需要制定类型,也没有类型这个概念。(2)变量定义时可以初始化,使用=进行初始化赋值。在shell中赋值的=两边是不能有空格的。注意:shell对语法非常在意,非常严

  • python程序的热部署实现[通俗易懂]

    python程序的热部署实现[通俗易懂]pytho程序的热部署知乎上面的回答真正意义上的代码热部署应该是类似erlang那样的,将代码更新到节点后不停服务,不断连接的自动应用新代码。autoreload(代表django的autoreload)什么的还是会造成业务瞬间中断。我感觉是可以从wsgi容器级别上实现,比如更新代码后检测到文件变更,然后通知容器创建新的wsgiapplication的实例,之后所有新的请求都发送到新的wdgi…

  • softreference 回收_method verification

    softreference 回收_method verification一、softReference的作用    SoftReference的主要特点就是在当内存不够的时候,GC会回收SoftReference所引用的对象。所以,在memorysensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。1、创建一个SoftReferenceSoftReference>softReference=newSof

  • oracle先排序再分页

    oracle先排序再分页

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号