**
我可以使用这段代码将图像保存在远程Mysql数据库中.但是我无法从这段代码中获得完整的图像质量.图像质量非常差.有人建议解决它吗?
提前致谢.
**
public void onActivityResult(int reqCode,int resCode,Intent data) {
if (resCode == RESULT_OK) {
if (reqCode == 1) {
Bitmap photo = null;
imageURI = data.getData();
try {
photo = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageURI);
} catch (IOException e) {
e.printStackTrace();
}
Image.setImageBitmap(photo);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG,90,stream); //compress to which format you want.
byte[] byte_arr = stream.toByteArray();
String image_str = Base64.encodeToString(byte_arr,Base64.DEFAULT);
try {
image_str1 = URLEncoder.encode(image_str,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
if (reqCode == CAMERA_REQUEST && resCode == RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
Image.setImageBitmap(photo);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG,stream); //compress to which format you want.
byte[] byte_arr = stream.toByteArray();
String image_str = Base64.encodeToString(byte_arr,Base64.DEFAULT);
try {
image_str1 = URLEncoder.encode(image_str,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// Photo=getBytes(photo);
}
}
最佳答案
试试以下代码:
if (requestCode == SELECT_FILE && resultCode == RESULT_OK
&& null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn,null,null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
imgPath = cursor.getString(columnIndex);
cursor.close();
}else if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK ) {
imgPath = fileUri.getPath();
if (imgPath != null && !imgPath.isEmpty()) {
encodeImagetoString();
} else {
Toast.makeText(getApplicationContext(),getResources().getString(R.string.some_error_occured),Toast.LENGTH_LONG).show();
}
}
encodeImagetoString()
public void encodeImagetoString() {
new AsyncTask
希望它会对你有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。