有关android图片上传和压缩的一些问题
在做一个上传图片的模块的时候,每当图片过大,或是多张图片一起上传的时候总会oom。问了些人,说是上传图片需要先经过压缩。但是,我在想压缩图片不还是要先把图片读到内存中来么?还是有什么方法可以边读取图片变压缩呢?求一个图片读取压缩并上传 的demo !求大神,求前辈,各种求了....
下面,是我根据路径从SD卡读取图片,先转换为byte 数组,然后经过base64 编码 转换为string (我是想通过xml将base64 的字符串上传到服务器,服务器端有base64 解码)
public String getPstr(String pathname)
{
String pstr="";
try {
if(!pathname.equals(""))
{
FileInputStream in;
in=new FileInputStream(pathname);
byte buff[] = read(in);//把图片文件流转成byte数组
//将图片数据 进行BASE64编码
pstr= new String(Base64.encode(buff,Base64.DEFAULT));
return pstr;
}
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
如果你还有什么疑问,欢迎咨询领卓教育的讲师,领卓教育的讲师会一一为您简答。
在线咨询:武老师Q Q:2997520698 张老师Q Q:1097577690
下面,是我根据路径从SD卡读取图片,先转换为byte 数组,然后经过base64 编码 转换为string (我是想通过xml将base64 的字符串上传到服务器,服务器端有base64 解码)
public String getPstr(String pathname)
{
String pstr="";
try {
if(!pathname.equals(""))
{
FileInputStream in;
in=new FileInputStream(pathname);
byte buff[] = read(in);//把图片文件流转成byte数组
//将图片数据 进行BASE64编码
pstr= new String(Base64.encode(buff,Base64.DEFAULT));
return pstr;
}
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
如果你还有什么疑问,欢迎咨询领卓教育的讲师,领卓教育的讲师会一一为您简答。
在线咨询:武老师Q Q:2997520698 张老师Q Q:1097577690