Я пытаюсь отобразить изображение через растровое изображение, загрузив его из phpMyAdmin. Но изображение не отображается

Я пытаюсь отобразить изображение с помощью растрового изображения, извлекая его из MySQL, но изображение не отображается. Я много пробовал, но не смог получить эту вещь.
Вот мой PHP-код:

<?php
$mysqli = new mysqli('localhost', 'root', '', 'demo');
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
$sql = "select * from output_images where imageId='$id'";
$r = mysqli_query($mysqli,$sql);
$result = mysqli_fetch_array($r);
header('content-type: image/jpeg');
echo base64_decode($result['imageData']);
mysqli_close($mysqli);
}else{
echo "Error";
}
?>

Вот мой код Android, который получает imageData из таблицы и отображает его через растровое изображение.

public class TestMainActivity extends Activity implements OnClickListener {
EditText enterId;
Button fetchImage;
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
StrictMode.enableDefaults();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_main);
enterId = (EditText)findViewById(R.id.editText1);
fetchImage = (Button) findViewById(R.id.button1);
img = (ImageView)findViewById(R.id.imageView1);
fetchImage.setOnClickListener(this);
}
private void getImage() {
// TODO Auto-generated method stub
class GetImage extends AsyncTask<String,Void,Bitmap>
{
protected void onPreExecute(){
}
protected Bitmap doInBackground(String...params){
String id = params[0];
String url1 = "http://12.0.0.1/demo_d/getImage.php?imageId="+id;
Bitmap image = null;
try{
URL url = new URL(url1);
image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
}
catch(Exception e){
Toast.makeText(getApplicationContext(), (CharSequence) e, Toast.LENGTH_LONG).show();
}
return image;
}
protected void onPostExecute(Bitmap image){
super.onPostExecute(image);
img.setImageBitmap(image);
}
}
String id1 = enterId.getText().toString();
GetImage i =new GetImage();
i.execute(id1);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
getImage();
}
}

После выполнения кода я не нашел никаких ошибок, но там ImageView пусто, и требуемое изображение не отображается.

-1

Решение

Похоже, вы пытаетесь использовать свой компьютер во время выполнения этого кода на эмуляторе Android, потому что вы используете IP 127.0.0.1,

Если вы используете 127.0.0.1 на эмуляторе это в основном указывает на себя.

Для доступа к хост-машине из эмулятора вы должны использовать http://10.0.2.2:8080,

Итак, ваш URL должен выглядеть так

String url1 = "http://10.0.2.2:8080/demo_d/getImage.php?imageId="+id;

Увидеть этот для получения дополнительной информации по этому вопросу.

0

Другие решения

Других решений пока нет …