【发布时间】:2016-03-09 16:44:51
【问题描述】:
我希望我的 android 应用程序显示存储在 mysql 数据库中的图像。
我可以使用PHP加载和显示保存在mysql数据库中的图像,图像在浏览器上正确显示。
我也可以使用网站的 url 在我的 android 应用程序中显示图像(例如谷歌图像)。
但是当我尝试在 android 应用程序中使用我的 PHP 的 url 时,我收到了这个错误:
SkImageDecoder::Factory 返回 null。
java代码:
@Override
protected void onPostExecute(Bitmap b) {
super.onPostExecute(b);
loading.dismiss();
imageView.setImageBitmap(b);
}
@Override
protected Bitmap doInBackground(String... params) {
String id = params[0];
String add = "http://192.168.1.30/save/load_image_from_db.php";
URL url;
Bitmap image = null;
try {
url = new URL(add);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream is = null;
BufferedInputStream bis = null;
is = connection.getInputStream();
bis = new BufferedInputStream(is,8192);
image = BitmapFactory.decodeStream(bis);
//image = BitmapFactory.decodeStream(connection.getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
PHP 代码:
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
$sql = "SELECT image FROM images WHERE id = '$id' ";
$con = mysqli_connect("localhost","root","","othmane");
$r = mysqli_query($con,$sql);
$result=mysqli_fetch_array($r);
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';
}
else{
echo "Error";
}
?>
【问题讨论】:
-
“图像”栏的内容是什么?斑点? Base64?
-
图片内容为[Blob- 32 Kio]