Android头像上传和java服务端接收图片。
来源:互联网 发布:python黑帽子 pdf 编辑:程序博客网 时间:2024/05/01 19:34
笔记。
真的是什么都不知道的状态下,java就学了的最最基本的内容,安卓学的马马虎虎,只能网上找找源码。这个方法可能不是最优的,但是是现在我能弄出来的。。。
在csdn用了超多积分才找到的源码,只有安卓端的内容,并没有服务端。把两端合起来。做个笔记。这个可能还有一个bug,就是图像不会马上就在android显示出来,必须要刷新后才能显示出来。
安卓端的代码。
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);// 如果不压缩是100,表示压缩率为0,写30 是压缩率,表示压缩70%;
out.flush();
out.close();
Random r = new Random();
int rannum = (int) (r.nextDouble() * (99999 - 10000 + 1)) + 10000; // 获取随机数
byte[] buffer = out.toByteArray();
byte[] encode = Base64.encode(buffer, Base64.DEFAULT);
String photo = new String(encode);
ImageName = getStringToday() +rannum+ ".jpg";//根据现在时间和随机数将名字保存下来。
RequestParams params = new RequestParams();
params.put("photo", photo);
params.put("ImageName", ImageName);//图片名称
params.put("doc_img_id", ids);
//Toast.makeText(getApplicationContext(), ids, Toast.LENGTH_SHORT).show();
params.put("typename","xuesheng" );
String url = "上传的地址";
AsyncHttpClient client = new AsyncHttpClient();
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int arg0, String arg1) {
// TODO Auto-generated method stub
super.onSuccess(arg0, arg1);
try {
if (arg0 == 200) {
Toast.makeText(Person_detail_control.this, "头像上传成功!", 0)
.show();
//Toast.makeText(MainActivity.this, , 0).show();
} else {
Toast.makeText(Person_detail_control.this,
"网络访问异常,错误码:" + arg0, 0).show();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable arg0, String arg1) {
// TODO Auto-generated method stub
super.onFailure(arg0, arg1);
Toast.makeText(Person_detail_control.this,
"网络访问异常,错误码 > " + arg0, 0).show();
}
});
服务器端接收图片的代码
@Override
public String execute() throws Exception {
String phone=request.getParameter("photo");
String ImageName=request.getParameter("ImageName");
GenerateImage(phone,ImageName);
System.out.println(phone);
return NONE;
}
public static boolean GenerateImage(String imgStr,String ImageName) { // 对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) // 图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
// Base64解码
byte[] b = decoder.decodeBuffer(imgStr);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成jpeg图片
String imgFilePath = "E:\\Program Files\\Workspacessss\\HealthMotherWeb\\WebRoot\\image\\"+ImageName+".jpg";
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
- Android头像上传和java服务端接收图片。
- android上传图片、视频、文件,服务端使用wcf接收
- Android实现文件,图片上传,以及服务端接收相关。
- Android实现文件,图片上传,以及服务端接收相关。
- 微信小程序开发之图片上传+Java服务端接收
- Android图片上传 Java服务器接收
- SpringMVC 上传图片和头像
- Android头像(图片)上传/文件上传
- Android中图片 的上传和接收以及后台图片的上传和接收
- Android上传头像,图片剪裁,压缩图片
- Android上传头像,图片剪裁,压缩图片
- Android上传头像,图片剪裁,压缩图片
- Java 服务端接收多图上传
- Android中图片上传服务器(android端和服务端)
- android上传图片到javaweb服务端,android+和struts2
- Android图片上传的客户端和服务端代码
- Winform客户端到Java服务端的图片展示和上传
- Android 头像上传+图片裁切
- sizeof的详尽计算结构体字节数方法
- android颜色
- Android网络,笔记!
- 网址
- Xcode 调试dubug
- Android头像上传和java服务端接收图片。
- iOS开发-文件管理(一)
- struts 2.x
- Android四大组件之内容提供者ContentProvider
- Linux下SSH远程连接断开后让程序继续运行解决办法
- 2014山东省第五届ACM省赛 angry_birds_again_and_again
- Python基础——准备工作
- C++中通过指针来交换两个数
- 事务-程序员的必经之路