【问题标题】:Ionic/Angular cant see images in real phoneIonic/Angular 无法在真实手机中看到图像
【发布时间】:2021-05-05 19:12:53
【问题描述】:

我有一个关于电影电视剧列表的项目。但是在真机上看不到照片。我可以在模拟器或离子实验室中看到它,但在我的真实手机上看不到它。

 <img style="margin-left: 5%; border-radius: 15px;"  src="http://image.tmdb.org/t/p/w500{{item.poster_path}}" height="250px" width="250px"  >

这是我关于 img 的代码。当我像这样使用它时,我可以在模拟器上看到:https://prnt.sc/12jdedl

但是当我从手机打开它时,它会显示:https://prnt.sc/12jddef 我该如何解决?感谢您的帮助!

【问题讨论】:

  • 您可以在手机上查看网络检查器(通过 USB 数据线)吗?您可以获得有关问题所在的更多信息。
  • @JohnTyner 我刚刚发送到 android studio 然后通过 USB 电缆连接我的手机然后打开我的应用程序但看不到任何东西。当我在我的 apk 中时如何打开网络检查器?
  • @JohnTyner 我从我的电脑上检查了一下,一切看起来都很好。当我从手机手动打开该网址时,该源网址也是正确的,我可以从谷歌看到该图像,但使用程序我不知道为什么它不显示
  • 您可以使用 Chrome 来检查 chrome://inspect/#devices - 我会查看它是否被报告为 404(在网络选项卡中找不到文件) - 或者可能是 ionic/angular 阻止了图像(将显示在错误选项卡中)。
  • @JohnTyner 谢谢!我试过了,我现在可以用 chrome inspect 看到照片。但是当我打开我的apk文件时,我仍然看不到。太奇怪了,我不明白为什么

标签: angularjs angular ionic-framework multidimensional-array ionic4


【解决方案1】:

欢迎来到 Stackoverflow。您的大括号 {{...}} 位于 src 字符串的中间。他们没有字符串插值功能。为了在角度模板中组合两个字符串,您可以尝试以下操作:

 <img style="margin-left: 5%; border-radius: 15px;"  [src]="'http://image.tmdb.org/t/p/w500' + item.poster_path" height="250px" width="250px"  >

【讨论】:

  • B 谢谢您的回答。但它仍然是相同的结果。在模拟器中我可以看到图像,但在我的设备上我仍然看不到那些照片。
  • 有空的时候能再帮帮我吗兄弟?我需要你的帮助
  • 似乎@John Tyner 已经找到了解决方案。我的第二个猜测可能是一些安全 http 或 CORS 问题。
【解决方案2】:

错误是:ERR_CLEARTEXT_NOT_PERMITTED

发件人:https://stackoverflow.com/a/67127207/1772933

首先,在这里创建网络安全配置文件 YOUR_IONIC_APP_ROOT\android\app\main\res\xml\network_security_config.xml。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
   <domain-config cleartextTrafficPermitted="true">
        <domain>www.example.com</domain>
   </domain-config>
</network-security-config>

然后编辑 YOUR_IONIC_APP_ROOT\android\app\main\AndroidManifest.xml 将 android:networkSecurityConfig="@xml/network_security_config" 添加到应用程序。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="io.ionic.starter">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        
        android:networkSecurityConfig="@xml/network_security_config"

        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <!-- ... -->
    </application>
    <!-- ... -->
</manifest>

【讨论】:

  • 我的可视代码上没有资源文件夹。我从几个视频中看到了那个文件夹,但我的没有那个文件夹
  • 我改了答案 - 试试看
  • @JohnTyler 我希望我能做到,但我现在没有足够的声誉。但是当我拥有它时,我会做到的!
  • @UğurcanUçar 如果您使用的是 Cordova,则需要使用 ionic cordova resources 生成它。如果您使用的是电容器,请关注this answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-04
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多