Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用我的php url从mysql加载图像_Php_Android - Fatal编程技术网

无法使用我的php url从mysql加载图像

无法使用我的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) {

我希望我的android应用程序显示存储在mysql数据库中的图像

我可以使用PHP加载和显示保存在mysql数据库中的图像,图像正确地显示在浏览器上

此外,我还可以使用网站的url在android应用程序中显示图像(例如谷歌图像)

但当我尝试在android应用程序中使用PHP的url时,我遇到了以下错误:

SkImageDecoder::工厂返回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代码:


您发送的是一个HTML
img
标记,而不是显示位图实际需要的数据。而不是

echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';

实际上,您可能需要
base64\u编码
,以使其实际工作。问题是
SkImageDecoder
不需要HTML。如果您不想更改PHP,可以在android中加载
webview
以查看图像,因为
webview
s知道如何显示HTML

您发送的是一个HTML
img
标记,而不是显示位图实际需要的数据。而不是

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'])