`
shirlly
  • 浏览: 1651757 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

[转]android上传base64的字符图片

 
阅读更多
一般来说,目前在手机端上传图片,方法挺多的,不过常用的就是一个文件流,另一个是二进制转base64的字符流,下面分享一下方法

网络上都是千篇一律的写法,对于上传过程中失败的问题也很少提及,上传失败的bug,主要的原因当然是编码字符的问题了,一般网上都没有介绍,记得要将base64的字符串 转化一下为utf-8,要不然会导致上传失败

public static String httpPostBase64(byte[]  data, String url,String uid,String blog) {
  String str=null;
  try {

   HttpPost httpRequest = new HttpPost(url);

   /*
    * 
    * NameValuePair实现请求参数的封装
    */
  


   List params = new LinkedList();
   params.add(new BasicNameValuePair("uid", uid));
   params.add(new BasicNameValuePair("blog", blog));
   if(data!=null){
    String data1 = Base64.encodeToString(data, 0, data.length,Base64.DEFAULT);
    params.add(new BasicNameValuePair("img",URLEncoder.encode(data1,"UTF-8")));
   }
   
  

   /* 添加请求参数到请求对象 */

   httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

   /* 发送请求并等待响应 */

   HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);

   /* 若状态码为200 ok */

   if (httpResponse.getStatusLine().getStatusCode() != 200) {

    Log.d("Code", httpResponse.getStatusLine().toString());

    return str;

   }else{
     HttpEntity httpEntity=httpResponse.getEntity();
     str = EntityUtils.toString(httpEntity,"UTF-8");
    System.out.println("-------------------"+str);
   }

  } catch (Exception e) {

   for (StackTraceElement s : e.getStackTrace())

    Log.d("Exception", s.toString());

   Log.d("Exception", e.getLocalizedMessage());

   return str;

  }

  return str;

 }
分享到:
评论

相关推荐

    Android.Base64对图片进行编码和解码

    在Android开发中,Base64是一种常见的数据编码方式,它将二进制数据转换为可打印的ASCII字符串,便于在网络传输、存储或者显示时使用。本文将深入探讨如何使用Android的Base64库来对图片进行编码和解码。 ### 1. ...

    Base64转图片.zip

    描述中提到的Android客户端上传Base64编码的图片,可能是因为Android应用通常将图片数据转换为字符串形式上传,以避免网络传输中二进制数据的问题。然而,某些情况下,这些Base64编码在服务器端可能无法正确解码,这...

    Android 6.0 动态权限 弹出图库拍照 获取图片路径转bitmap 再转字符串Base64 demo

    本示例代码是针对Android 6.0及以上版本设计的,它演示了如何动态请求权限,调用图库或相机获取图片,然后将图片路径转化为Bitmap,进一步将Bitmap转换为Base64字符串以便上传至服务器。 首先,我们需要检查设备的...

    Base64图片上传,Android图片上传的利器

    标题"Base64图片上传,Android图片上传的利器"指出了Base64编码在Android图片上传中的重要性。Base64编码可以将图片转换成字符串形式,这种字符串可以在网络请求中作为文本内容传递,避免了因二进制数据导致的传输...

    android录制视频并转为Base64格式

    6. **文件转Base64**:录制的视频文件转换为Base64字符串,可以使用Java的`java.util.Base64`工具类。首先读取文件的字节流,然后用`Base64.getEncoder().encodeToString()`方法进行编码。 ```java byte[] ...

    小程序图片转base64

    在小程序中,图片转Base64的需求可能源于以下场景: 1. 图片预览:在某些情况下,Base64编码的图片可以避免网络请求,直接在本地显示。 2. 上传服务器:将图片转换为Base64,可以直接作为字符串发送到服务器,简化...

    Android图片Bitmap和字符串String之间的相互转换

    这种方式适合在网络上传输,因为Base64编码后的字符串包含的字符都是ASCII可打印字符。 - PNG/JPEG编码:Bitmap可以被直接保存为PNG或JPEG格式的字节数组,再转换为String。这种方式生成的字符串通常较短,但不可读...

    Android 通过Base64上传图片到服务器实现实例

    Android 通过Base64上传图片到服务器 之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。 前台图片处理:(传Bitmap对象即可) /** * ...

    Base64.java及其使用方法

    在Android开发中,如果需要通过HTTP客户端(如HttpClient)将图片上传到服务器,由于HTTP协议本身只支持ASCII字符,不能直接传输二进制数据,因此通常会先将图片数据转化为Base64字符串,再以文本形式发送,服务器端...

    用Delphi写的从剪切板获取图片Base64String的ActiveX插件

    本话题主要聚焦于一个由Delphi编写的ActiveX插件,其核心功能是从剪切板中提取图片并转换为Base64String编码的字符串,以便更方便地在网络应用中传输和存储。 首先,我们来理解Delphi。Delphi是一款强大的Object ...

    Android客户端调用webService上传图片到服务器

    在这个例子中,`Base64.encode()`方法用于将图片字节数组编码为Base64字符串。 3. **Web Service调用**:客户端使用KSOAP2库来调用Web Service接口。KSOAP2是一个轻量级的库,用于在Android平台上执行SOAP请求。...

    webservice接收安卓上传图片

    对于接收图片的接口,通常定义一个POST方法,接受一个字符串参数,这个参数就是Android上传的Base64编码的图片数据。接口处理完成后,返回一个状态码或者响应消息,告诉客户端操作是否成功。 6. **安全与性能优化**...

    Android上传图片到springmvc服务器全

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

    快速解决C# android base-64 字符数组的无效长度问题

    在android向C# 后台发送图片的时候,把图片转成字符串发送的时候出现 base-64 字符数组的无效长度 错误应该在传递参数前,使用Replace(“+”, “+”),后台接收后用Replace(“+”, “+”),这样一替换,问题就解决了...

    Android中对图像进行Base64编码

    在Android开发中,图像处理是一项常见的任务,而Base64编码是将图像数据转换为文本字符串的一种方法。这种编码方式可以方便地在网络上传输图像,因为HTTP协议只能传输文本,不能直接传输二进制数据。在本文中,我们...

    uniapp oss直传需要的文件资源(base64.js,crypto.js, hmac.js, sha1.js)

    在阿里云OSS的文件上传过程中,Base64编码可能用于将文件内容或特定的请求参数转化为字符串形式,便于在网络中传输。 2. **crypto.js**: 这个文件通常包含了加密算法的实现,如哈希函数、对称加密、非对称加密等...

    Base-64-Encode-Decode:一个简单的 android 应用程序比编码解码任何字符串到它的 base64 等价物

    在这个特定的Android应用程序"Base-64-Encode-Decode"中,用户可以轻松地对字符串进行Base64编码和解码。以下是关于Base64编码和该Android应用开发的相关知识点: 1. **Base64编码原理**: - Base64编码是基于64个...

    Android利用webservice上传图片至服务器_Android端

    可以使用Android提供的Bitmap类和相关方法来调整图片尺寸,然后使用Base64.encodeToString()方法将其转换为字符串。 3. **网络权限**: Android应用需要在AndroidManifest.xml文件中添加相应的网络权限,如 `...

    Android上传图片至网络端

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

Global site tag (gtag.js) - Google Analytics