无法使用我的php url从mysql加载图像
我希望我的android应用程序显示存储在mysql数据库中的图像 我可以使用PHP加载和显示保存在mysql数据库中的图像,图像正确地显示在浏览器上 此外,我还可以使用网站的url在android应用程序中显示图像(例如谷歌图像) 但当我尝试在android应用程序中使用PHP的url时,我遇到了以下错误: SkImageDecoder::工厂返回null java代码:无法使用我的php url从mysql加载图像,php,android,Php,Android,我希望我的android应用程序显示存储在mysql数据库中的图像 我可以使用PHP加载和显示保存在mysql数据库中的图像,图像正确地显示在浏览器上 此外,我还可以使用网站的url在android应用程序中显示图像(例如谷歌图像) 但当我尝试在android应用程序中使用PHP的url时,我遇到了以下错误: SkImageDecoder::工厂返回null java代码: @Override protected void onPostExecute(Bitmap b) {
@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代码:
您发送的是一个HTMLimg
标记,而不是显示位图实际需要的数据。而不是
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';
实际上,您可能需要
base64\u编码
,以使其实际工作。问题是SkImageDecoder
不需要HTML。如果您不想更改PHP,可以在android中加载webview
以查看图像,因为webview
s知道如何显示HTML 您发送的是一个HTMLimg
标记,而不是显示位图实际需要的数据。而不是
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';
实际上,您可能需要
base64\u编码
,以使其实际工作。问题是SkImageDecoder
不需要HTML。如果您不想更改PHP,可以在android中加载webview
以查看图像,因为webview
s知道如何显示HTML 我终于明白了,echo base64_encode($result['image'])不适合我,我不知道为什么。在网络中搜索后,我发现这三行正确地显示了图像,并且每一行都是必需的:
标题('Content-Type:image/jpeg');
带斜杠($result['image']);
echo$result['image']代码>我终于明白了,echo base64_encode($result['image'])对我不起作用,我不知道为什么。在网络中搜索后,我发现这三行正确地显示了图像,并且每一行都是必需的:
标题('Content-Type:image/jpeg');
带斜杠($result['image']);
echo$result['image']代码>图像栏的内容是什么?斑点?Base64?图像的内容是[Blob-32kio]“图像”列的内容是什么?斑点?Base64?图像的内容是[Blob-32 Kio]不工作,即使在我进行更改时也会出现相同的错误。实际上,当我进行您建议的更改时,浏览器显示了很多字符…这是因为它将数据发送到浏览器而不是图像标记。您是否尝试过echo base64_编码($result['image'])代码>?不起作用,即使在我进行更改时也会出现相同的错误实际上,在我进行您建议的更改时,浏览器显示了大量字符…这是因为它将数据发送到浏览器而不是图像标记。您是否尝试过echo base64_编码($result['image'])代码>?