`
后人生苟
  • 浏览: 18477 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

android上传图片

 
阅读更多
前端 andoid  activity用到的函数 
AsyncHttpClient  是一个框架提供的库  可以异步传输,使用时需下载android-async-http-1.4.4.jar包导入到项目中
public static void reg(final Context cont,Bitmap photodata,String regData) { 
        try { 
            ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
             
            //将bitmap一字节流输出 Bitmap.CompressFormat.PNG 压缩格式,100:压缩率,baos:字节流 
            photodata.compress(Bitmap.CompressFormat.PNG, 100, baos); 
            baos.close(); 
            byte[] buffer = baos.toByteArray(); 
            System.out.println("图片的大小:"+buffer.length); 
             
            //将图片的字节流数据加密成base64字符输出 
            String photo = Base64.encodeToString(buffer, 0, buffer.length,Base64.DEFAULT); 
 
            //photo=URLEncoder.encode(photo,"UTF-8"); 
            RequestParams params = new RequestParams(); 
                    params.put("photo", photo); 
                        params.put("name", "woshishishi");//传输的字符数据 
                        String url = "http://10.0.2.2:8080/IC_Server/servlet/RegisterServlet1"; 
  
             
                        AsyncHttpClient client = new AsyncHttpClient(); 
                        client.post(url, params, new AsyncHttpResponseHandler() { 
                        @Override   
                    public void onSuccess(int statusCode, String content){   
                    Toast.makeText(cont, "头像上传成功!"+content, 0) 
                     .show();  
                         }   
                    @Override   
                    public void onFailure(Throwable e, String data){   
                    Toast.makeText(cont, "头像上传失败!", 0) 
                        .show();  
                } 
            }); 
  
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
 
    }

服务器中 serverlet中的代码:

package uestc.app.ic.server.servlet; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
import sun.misc.BASE64Decoder; 
 
public class RegisterServlet1 extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException { 
        request.setCharacterEncoding("utf-8"); 
        response.setCharacterEncoding("utf-8"); 
        response.setContentType("text/html"); 
        String photo = request.getParameter("photo"); 
        String name = request.getParameter("name"); 
 
        try { 
 
            // 对base64数据进行解码 生成 字节数组,不能直接用Base64.decode();进行解密 
            byte[] photoimg = new BASE64Decoder().decodeBuffer(photo); 
            for (int i = 0; i < photoimg.length; ++i) { 
                if (photoimg[i] < 0) { 
                    // 调整异常数据 
                    photoimg[i] += 256; 
                } 
            } 
 
            // byte[] photoimg = Base64.decode(photo);//此处不能用Base64.decode()方法解密,我调试时用此方法每次解密出的数据都比原数据大  所以用上面的函数进行解密,在网上直接拷贝的,花了好几个小时才找到这个错误(菜鸟不容易啊) 
            System.out.println("图片的大小:" + photoimg.length); 
            File file = new File("e:", "decode.png"); 
            File filename = new File("e:\\name.txt"); 
            if (!filename.exists()) { 
                file.createNewFile(); 
            } 
            if (!file.exists()) { 
                file.createNewFile(); 
            } 
            FileOutputStream out = new FileOutputStream(file); 
            FileOutputStream out1 = new FileOutputStream(filename); 
            out1.write(name.getBytes()); 
            out.write(photoimg); 
            out.flush(); 
            out.close(); 
            out1.flush(); 
            out1.close(); 
        } catch (Exception e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } 
 
    }
分享到:
评论

相关推荐

    Android上传图片到服务器

    这个“Android上传图片到服务器”的小demo涵盖了这一过程的关键步骤,让我们一起深入了解一下。 首先,我们需要了解Android中处理图片的基础知识。Android提供了多种方式来获取图片,包括从相册选择、相机拍摄、...

    Android上传图片至网络端

    综上所述,Android上传图片至网络端是一个涉及多个技术点的过程,需要综合运用网络请求库、数据编码技术、多线程处理、错误处理机制以及用户体验设计等知识。理解并熟练掌握这些技能,对于开发高效、稳定的Android...

    android上传图片源码

    本文将详细解析如何实现Android上传图片的功能,包括必要的技术点和源码分析。 首先,理解Android上传图片的核心流程: 1. **图片选择**:用户通常需要从相册或相机中选择图片,这涉及到Intent的使用,如ACTION_...

    android上传图片 php接收

    总的来说,Android上传图片到PHP服务器是一个常见的移动互联网应用场景,涉及客户端与服务器端的协调配合,以及图片处理、HTTP通信、文件操作等多个技术环节。通过合理的设计和实现,可以提供流畅、安全的用户体验。

    android上传图片至服务器

    综上所述,Android上传图片至服务器的过程涉及到客户端的图片获取、处理、请求创建和发送,以及服务器端的文件接收、保存和响应。在实际开发中,还需要关注安全性、性能优化和错误处理等方面,以提供稳定、高效的...

    android 上传图片到服务器 net 与 php

    前一阵子整的android 上传图片到服务端,因为不善长java web 所以服务端是用.net写的,同时也写了个php版,里面包含客户端和服务端的代码,因为是抽取出来,使用时可能一些变量需要作相应修改。

    android上传图片到网络

    总之,Android上传图片到网络涉及选择图片、图片处理、转换为网络可接受的格式,以及发送HTTP请求。理解并掌握这些步骤,可以帮助开发者构建功能完善的图片上传功能。在实际项目中,还可以根据需求进行优化,例如...

    Android上传图片

    在Android应用开发中,将图片上传...总结,Android上传图片涉及到客户端的图片获取、处理、转换和发送HTTP请求,以及服务器端的接收、验证和处理。理解这个过程并熟练掌握相关技巧,对Android开发者来说是必备的能力。

    android上传图片+服务器接收图片

    本资源提供了一个完整的示例,涵盖了Android客户端如何上传图片以及服务器如何接收和处理这些图片的全过程。以下是关于这个过程的一些关键知识点: 1. **Android图片选择与预处理**: - 使用`Intent`调用系统图库...

    android 上传图片和文字

    总之,实现Android上传图片和文字的功能需要处理多个步骤,包括图片选择、处理、上传,以及文字输入和发送。使用Android提供的API和第三方库,可以有效地实现这些功能,提供良好的用户体验。在实际开发中,还要考虑...

    Android上传图片到springmvc服务器全

    综上所述,Android上传图片到Spring MVC服务器涉及多个技术环节,包括Android图像处理、网络请求、Base64编码、服务器端接收和存储等。实际开发中,需要根据具体需求进行调整和优化,确保上传过程的稳定性和效率。在...

    android 上传图片源码

    在Android平台上,上传图片是一项常见的功能,特别是在社交媒体应用、在线购物平台或者云存储服务中。本文将详细解析如何实现这个功能,并基于提供的"android 上传图片源码"进行讲解。 首先,我们需要理解Android中...

    android上传图片到服务器,asp.net端接收保存和删除

    用原始方式上传时,在拍照时某些手机不能获取图片。。。支持多张连续上传和增减照片后上传。。。。在上传照片时,部分从手机获取的照片不能压缩。。拍照压缩已经完成。。。如有问题,留言即可,看到后回答。。。希望...

    android上传图片到web服务器

    这个"android上传图片到web服务器"的示例提供了使用HttpPost和MultiPartEntity方法实现这一功能的具体代码。下面我们将详细讨论这个过程中的关键知识点。 1. **HttpPost**: HttpPost是Apache HttpClient库中的一个...

    android上传照片到服务器

    在Android开发中,将照片上传至服务器是一项常见的需求...以上就是Android上传照片到服务器涉及的关键技术和步骤,实际开发中还需要根据具体业务需求进行调整和优化。通过不断实践和学习,可以掌握这一过程并灵活运用。

    android studio写的图片选择上传

    在描述中提到的"一个android上传图片的模块",这通常涉及到以下几个关键步骤: 1. **图片选择**:在Android中,我们可以使用Intent来调用系统的图库应用,让用户选择一张或多张图片。通过设置Intent的ACTION_PICK...

    android上传图片Demo

    这个"android上传图片Demo"示例代码旨在教你如何在Android应用程序中实现实现拍照或从图库选择图片并上传到服务器的功能。以下是这个Demo涉及的关键知识点: 1. **权限管理**: 在Android 6.0(API级别23)及以上...

    android上传图片到php服务器

    - 设置请求方法为POST,因为上传图片通常使用POST请求。 - 设置请求头,如`Content-Type`通常设为`multipart/form-data`,以支持文件上传。 - 创建`DataOutputStream`,写入请求体。对于多部分数据,需要设定分隔...

Global site tag (gtag.js) - Google Analytics