StyleAI厚积薄发: Android网络图片数据传输
在StyleAI上厚积了这么长时间,憋了这么久,本来想憋个更大的,不过还是薄发一次的好。
三、直接使用别人的工程
文章:Android学习之客户端上传图片到服务器
下载地址:https://download.csdn.net/download/wlj142/7594879
可以运行
二、在Eclipse中使用XUtils3组件
文章:在Eclipse中导入XUtils3
把 jni\armeabi下面的 libwebpbackport.so文件 复制到 个人工程 jni\armeabi下面;
把 xutils-3.3.36.jar 文件,复制到 libs 下面;
参考原文,按照原文指示一步一步地操作,会运行成功。
建议使用3.3.36版本,3.5版本的JNI文件不存在,可能发生了重大变更
GitHub:https://github.com/wyouflf/xUtils3
下载地址:http://dl.bintray.com/wyouflf/maven/org/xutils/xutils/3.3.36/
一、安卓C/S图片数据传输:APP端-将图片传输至服务器端存储
1.整体思路:
客户端:
(1)将图片信息转化成byte数组;
(2)将图片信息进行base64加密;
服务端:
(1)将加密字符串进行解密
(2)解密之后的字符串还原成byte数组
(3)将byte数组写入到文件中
解密:
byte[] imageByteArray=HmsUtil.decodeBase64(changeHeadPic.getPic());
HmsUtil中的代码:
public static byte[] decodeBase64(String encodeStr) {
return Base64.decode(encodeStr);
}
写入到文件:
public static Boolean saveFile(byte[] fileByteArray, String path, String fileName) {
BufferedOutputStream out = null;
//标记文件保存是否成功
Boolean flag = true;
try {
out = new BufferedOutputStream(new FileOutputStream(path));
out.write(fileByteArray);
out.flush();
} catch (Exception e) {
flag = false;
logger.error("保存文件失败!", e);
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
}
}
}
return flag;
}
二、使用android-async-http框架传输base64加密图片
android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输)
组件:http://loopj.com/Android-async-http/
使用 http://loopj.com/android-async-http
下载地址:http://loopj.com/android-async-http/ 建议直接下载jar文件
package com.example.irisdetectyiyi;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Base64; import org.xutils.x;
import org.xutils.http.RequestParams; import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler; public class dataG2Net { // 传输本地图片和时间戳到网络
// 获取信息和时间戳到本地,同步显示
public dataG2Net() { } 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();
}
//
} }
StyleAI厚积薄发: Android网络图片数据传输的更多相关文章
- android网络图片的下载
android网络图片的下载 /** * Get image from newwork * * @param path * The path of image * @return byte[] * @ ...
- Android 网络图片查看器
今天来实现一下android下的一款简单的网络图片查看器 界面如下: 代码如下: <LinearLayout xmlns:android="http://schemas.android ...
- Android -- 网络图片查看器,网络html查看器, 消息机制, 消息队列,线程间通讯
1. 原理图 2. 示例代码 (网络图片查看器) (1) HttpURLConnection (2) SmartImageView (开源框架:https://github.com/loopj/an ...
- 55、Android网络图片 加载缓存处理库的使用
先来一个普通的加载图片的方法. import android.annotation.SuppressLint; import android.app.Activity; import and ...
- android网络图片查看器
package com.itheima.netimageviewer; import java.io.BufferedReader; import java.io.File; import java. ...
- Android网络图片显示在ImageView 上面
在写这篇博文的时候,我參与了一个项目的开发,里面涉及了非常多网络调用相关的问题,我记得我在刚刚開始做android项目的时候,以前就遇到这个问题,当时在网上搜索了一下,发现了一篇博文,如今与大家分享一 ...
- Android 网络图片加载之cude 框架
偶然发现了这个框架,阿里图片加载用的这个框架.非常简单操作步骤. 1.首先下载软件包,直接搜Cube ImageLoader 这个. 2.加入jar文件 3.使用前的配置: public class ...
- 【5】-阿里面试题android网络图片加载优化
题目: 遇到网络不好,卡顿的时候如何对网络的加载图片进行优化? 思路: 从加载的图片的本身和手机的存储两方面考虑 解决办法: 1.找现有图片格式的替换者 在众多的图片格式中,选择了Google的Web ...
- Android网络图片转换成bitmap保存到本地指定文件夹
下列代码,请求网络图片转换为bitmap,然后保存到指定文件夹,微信,QQ分享,要求缩略图不大于32kb 压缩图片代码,使用了Glide来进行图片压缩处理 Glide.get(ShopDetailsA ...
随机推荐
- Centos samba install
Ready Change Root Password passwd root 在提示下建立新密码 静态IP vi /etc/sysconfig/network-scripts/ifcfg-eth0 ...
- alias记录
在seajs里边会有配置alias对象属性的,这个就是一个别名,下次在模块加载的时候直接引用别名就好了. 别名配置,配置之后可在模块中使用require调用 require('jquery'); se ...
- UVa10048_Audiophobia(最短路/floyd)(小白书图论专题)
解题报告 题意: 求全部路中最大分贝最小的路. 思路: 类似floyd算法的思想.u->v能够有另外一点k.通过u->k->v来走,拿u->k和k->v的最大值和u-&g ...
- POJ 1625 Censored! (AC自己主动机 + 高精度 + DP)
题目链接:Censored! 解析:AC自己主动机 + 高精度 + 简单DP. 字符有可能会超过128.用map映射一下就可以. 中间的数太大.得上高精度. 用矩阵高速幂会超时,简单的DP就能解决时间 ...
- Python Tricks(十九)—— switch 的实现
python 原生语法不支持 switch,体现了 Python 大道至简的设计思路,有时为了避免啰嗦的 if elif等判断语句,我们可以用字典来代替 switch 的各分支,也即建立表达式和操作的 ...
- 洛谷P3690 LCT模板
题目:https://www.luogu.org/problemnew/show/P3690 自己竟然从没有钻研过LCT上的连通性问题! 于是被最后一个点卡了,似乎因为 find 函数只能找出连通性而 ...
- 移动端html touch事件
诸如智能手机和平板电脑一类的移动设备通常会有一(capacitive touch-sensitivescreen),以捕捉用户的手指所做的交互.随着移动网络的发展,其能够支持越来越复杂的应用,web开 ...
- codeforces GYM 100781A【树的直径】
先求出每棵树的直径,排个序,要想图的直径最小的话需要每棵树的直径中点像直径最大的树的直径中点连边,这样直径有三种情况:是直径最大的树的直径:a[tot]:是直径最大的树和直径第二大的树的半径拼起来+1 ...
- bzoj 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱【区间dp】
就是区间dp啦f[i][j]表示以i开头的长为j+1的一段的答案,转移是f[i][j]=s[i+l]-s[i-1]+min(f[i][j-1],f[i+1][j-1]),初始是f[i][1]=a[i] ...
- bzoj4720: [Noip2016]换教室(期望dp)
4720: [Noip2016]换教室 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1294 Solved: 698[Submit][Status ...