Java 不显示来自base64_编码的图像编码
以下代码位于android studio中:Java 不显示来自base64_编码的图像编码,java,php,android,base64,Java,Php,Android,Base64,以下代码位于android studio中: Bitmap newImage = (Bitmap) MediaStore.Images.Media.getBitmap(this.getContentResolver() , data.getData()); im.setImageBitmap(newImage); ByteArrayOutputStream baos = new ByteArrayOu
Bitmap newImage = (Bitmap) MediaStore.Images.Media.getBitmap(this.getContentResolver() , data.getData());
im.setImageBitmap(newImage);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
newImage.compress(Bitmap.CompressFormat.JPEG , 100 , baos);
byte[] bytearrayimage = baos.toByteArray();
String encodeimage = URLEncoder.encode(Base64.encodeToString(bytearrayimage , Base64.DEFAULT) , "UTF-8");
Toast.makeText(getApplicationContext() , String.valueOf(encodeimage.length()) , Toast.LENGTH_SHORT).show();
try
{
JSONObject json = new JSONObject();
json.put("type" , "picprofile");
json.put("username" , username);
json.put("image" , encodeimage);
new ConnectServer().execute("https://estate.shikmelk.ir/api/android/upload.php" , json.toString());
}
catch (JSONException j)
{
j.printStackTrace();
}
创建编码图像base64的上一节代码,下面的代码是用php编写的:
$img = $json["image"];
$imgname = $username . "profile.jpg";
$fopen = fopen("../../main/picprofile/" . $imgname , "wb");
fwrite($fopen , base64_decode($img));
fclose($fopen);
上段代码是php,获取base64_编码图像并转换为jpg图像
但是当我显示图像时,不显示任何内容,即转换但不显示图像。尝试使用
字符串encodedImage=Base64.encodeToString(bytearrayimage,Base64.DEFAULT)
而不是URLEncoder.encode(Base64.encodeToString(bytearrayimage,Base64.DEFAULT),“UTF-8”)代码>
确保导入android.util.Base64
我更改了它,但在php中我得到空消息$img=$json[“image”]代码>。请张贴完整的php。没有人知道您是如何获得$json的。此外,没有人知道您是如何发布json的。所以没什么好说的。