`
ming_fanglin
  • 浏览: 227119 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android Post图片和数据

阅读更多
调用照相
   
private void imageClient(){
        
//        // 隐藏title
//        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//    
//        // 设置全屏
//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        fileName = UUID.randomUUID().toString();

        try{
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            imgFile = new File(Environment.getExternalStorageDirectory(), fileName + ".jpg");
            Uri outputFileUri = Uri.fromFile(imgFile);
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
            startActivityForResult(cameraIntent, 10);
        } catch (Exception ex) {
            ex.printStackTrace();
            Log.e("EP", "" + ex.getMessage());
        }
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        // 父类方法
        super.onActivityResult(requestCode, resultCode, data);
        
        switch (resultCode) {
            case RESULT_OK:
                LogUtil.info("on Activity Result");
                Bundle extras = data.getExtras();
                b = (Bitmap) extras.get("data");
                
                new Thread(new Runnable(){
                    public void run(){
                        if (b != null) {
                            try {
                                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + "/test.jpg"));
                                // 压缩图片
                                b.compress(CompressFormat.JPEG, 75, bos);
                                bos.flush();
                                bos.close();
                            } catch (Exception e) {
                                Log.e("Exception", "file or compress exception");
                                e.printStackTrace();
                            }
            
                        }
                        imgFile = new File(android.os.Environment.getExternalStorageDirectory() + "/" +fileName + ".jpg");
                        
                        // ImgManager.resize(file, file, 200, "jpg");
                        
                        // 发送到服务器
                        if(!HttpUtil.postImg("http://neil.finalist.hk/namex/namex/nclient/upload", "user", "client", imgFile)){
                            // 发送失败则重发一次
                            HttpUtil.postImg("http://neil.finalist.hk/namex/namex/nclient/upload", "user", "client", imgFile);
                        }
                    }
            }).start();
        }
    }

发送
@SuppressWarnings("deprecation")
    public static boolean postImg(String url, String u, String c, File file){
        LogUtil.info("" + file.exists());
        
        PostMethod postMethod = new PostMethod(url);
        
        Part[] part = new Part[4];
        part[0] = new StringPart("u", u);
        part[1] = new StringPart("c", c);
        try {
            part[2] = new FilePart("Filedata", file);
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
            Log.e("file exception", ex.getMessage());
        }
        part[3] = new StringPart("flag", "image");
        
        MultipartRequestEntity mrp = new MultipartRequestEntity(part, postMethod.getParams());
        postMethod.setRequestEntity(mrp);
        org.apache.commons.httpclient.HttpClient client = new org.apache.commons.httpclient.HttpClient();
        client.getParams().setContentCharset("utf-8");
        try {
            client.executeMethod(postMethod);
            if("false".equals(postMethod.getRequestEntity().toString())){
                return false;
            }
        } catch (HttpException e) {
            e.printStackTrace();
            return false;
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }finally {
            if (client != null) {
                client = null;
            }
            if (postMethod != null) {
                postMethod = null;
            }
        }
        return true;
    }
    
1
0
分享到:
评论

相关推荐

    Android客户端post上传字段和多张图片 c#接收

    在Android客户端,可以通过多种方式发送POST请求来上传数据和图片,例如使用`HttpClient`、`OkHttp`等库。这里我们以`OkHttp`为例,介绍上传字段和图片的一般步骤: 1. **创建OkHttpClient对象**:用于初始化网络...

    android post上传文件

    在Android平台上,开发人员经常需要实现文件上传的功能,例如用户在应用中分享图片或文档到服务器。本篇文章将深入探讨如何使用HttpClient库在Android中执行POST请求上传文件。虽然现在推荐使用Retrofit、OkHttp等...

    android httpclient文件上传 http协议post get方法向服务器传输数据

    在Android开发中,HTTPClient是常用的网络通信库,它提供了HTTP协议的支持,允许应用程序通过POST和GET方法向服务器传输数据。本项目中的四个知识点聚焦于HTTPClient的使用,特别是文件上传以及HTTP的基本请求方法。...

    Android HttpPost方式获取网页图片

    对于Android应用,图片加载库如Glide或Picasso提供了更便捷的方式去加载和缓存网络图片。它们不仅简化了代码,还提供了图片处理和优化的功能,比如自动缓存、占位符、加载动画等。 总结起来,这个简单的工程展示了...

    接收android端数据转化在图片保存

    接下来,服务器需要将接收到的十六进制数据还原为二进制图片数据。在PHP中,可以使用以下代码: ```php $binaryData = hex2bin($data); // 将十六进制转为二进制 ``` 然后,服务器需要将这个二进制数据保存为图片...

    android studio写的图片选择上传

    在Android应用开发中,图片选择和上传是一项常见的功能,尤其在社交、电商或者任何需要用户交互的App中。本文将详细解析如何使用Android Studio来实现这个功能,特别关注"android upload image"这一核心标签。 首先...

    android 上传和下载图片

    在Android开发中,图片的上传和下载是常见的功能需求,特别是在社交、电商或者任何涉及到用户交互的应用中。本文将详细讲解如何在Android中实现图片的选取、上传至服务器以及从服务器下载图片,并将其存储到MySQL...

    android客户端上传数据方式

    在`Android之GET和POST`中,你可能学习到如何创建请求,设置请求头,以及处理响应数据。 其次,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Android与服务器的数据交换。在`Android...

    数据、图片上传与下载,android与web程序

    在IT行业中,数据和图片的上传与下载是网络应用程序的核心功能之一,无论是Android移动应用还是Web应用程序,都需要处理这些操作。下面将详细讲解这个领域的关键知识点。 1. **数据上传下载的基本原理**: - **...

    Android上传图片到服务器

    然后,构造一个RequestBody,将图片数据转换成RequestBody,可以选择Base64编码或者直接上传二进制数据。最后,构建一个POST请求,附上请求头(如Content-Type)和RequestBody,发起网络请求。 在上传过程中,考虑...

    android上传图片到php服务器

    - 在POST请求体中,创建一个`Part`来表示图片数据。每个Part包含键值对,如"image":图片字节数组。 - 使用`DataOutputStream.writeBytes()`方法将Part写入输出流。 - 记得关闭输出流。 4. **PHP服务器端处理**...

    Android上传图片至网络端

    创建一个OkHttpClient实例,然后使用RequestBody封装图片数据,构建一个POST请求,将图片上传至服务器。 2. **图片数据的编码**:图片数据需要转化为适合在网络上传输的格式,通常我们会选择Base64编码或者使用...

    android图片文件的上传

    注意,你需要设置合适的Content-Type,并且在上传多部分数据(如图片和额外参数)时,需要遵循multipart/form-data格式。 为了处理网络请求的响应,可以使用以下代码: ```java int responseCode = conn....

    android 上传图片和文字

    在Android开发中,上传图片和文字是常见的功能需求,尤其在社交、博客或者电商类应用中,用户常常需要分享自己的照片并配上相应的描述。本文将详细介绍如何在Android中实现这一功能,包括图片的选择、处理、上传,...

    Android上传图片

    5. 发送请求:通过`connection.setRequestMethod("POST")`设置请求方法,`connection.setDoOutput(true)`开启输出流,然后使用`DataOutputStream`将图片数据写入连接。 6. 处理响应:服务器返回的响应可以通过`...

    Android解析xml文件获取网络数据http请求,带Fragment框架,图片缓存本地

    在这个项目中,我们关注的是如何在Android应用中使用XML解析器获取网络数据,结合Fragment框架进行界面展示,并且实现图片的本地缓存。下面将详细介绍这些知识点。 1. XML解析:XML(eXtensible Markup Language)...

    android和tomcat文件上传和数据交互

    在IT行业中,Android和Tomcat之间的文件上传与数据交互是一个常见的需求,特别是在移动应用和服务器端数据处理的场景。在这个过程中,Android作为客户端,通过HTTP协议向运行在服务器上的Tomcat发送请求,实现文件的...

    android获取聚合数据笑话

    本项目"android获取聚合数据笑话"正是这样一个示例,它展示了如何利用Fastjson和XUtils这两个流行框架从聚合数据API中获取并解析笑话内容。下面我们将深入探讨这个项目涉及的关键知识点。 首先,聚合数据(JuHeData...

    android上传图片至服务器

    OkHttp或Volley都支持Multipart请求,需要创建RequestBody对象来封装图片数据。 4. **RequestBody与RequestBody.create**: - 使用`RequestBody.create`方法,传入图片的二进制数据(如转换为byte数组)和MIME类型...

    android HttpURLConnection上传图片demo

    在Android开发中,有时我们需要将用户的图片数据上传到服务器,以实现例如用户头像更新、照片分享等功能。这个"android HttpURLConnection上传图片demo"提供了一个具体的示例,教我们如何使用HttpURLConnection来...

Global site tag (gtag.js) - Google Analytics