Подтвердить что ты не робот

Ionic 2 Изображения, не отображаемые на устройстве

Просто кажется, что простейшая из таких вещей, как использование правильного пути URL для изображения, может потреблять столько времени и усилий, что не имеет успеха вообще.

Итак, на моей домашней странице я попытался использовать одно из следующих:

<img src="../assets/img/image.jpg"/>
<img src="/assets/img/image.jpg"/>
<img src="assets/img/image.jpg"/>
<img src="./assets/img/image.jpg"/>
<img src="../../assets/img/image.jpg"/>

Все они отображаются в браузере, но не на устройстве.

Я читал так много потоков, и это позорно, но пока нет реального решения. Мне бы очень хотелось узнать, что я здесь делаю неправильно? Любые помощь и реальные решения будут очень оценены.

4b9b3361

Ответ 1

У меня была такая же проблема с относительными путями

<img src="../assets/img/vis_reco.png">  

работает с ионным сервисом /, а также с загрузкой в ​​эмуляторе (например, из src/pages/home/home.html) Но не на устройстве.

Не используйте относительные пути для изображений!!!

<img src="assets/img/vis_reco.png">  

работает для меня с Ionic (v3), а также с приложениями angular typescript. На устройстве (ionic cordova run) с помощью ionic serve, а также с помощью ng s (angular apps)

используемое дерево dir:

используемое дерево

вы можете увидеть (официальный) пример в ионном стартере конференции, попробуйте:

ionic start ionicConf conference

(btw: тот же quetiosn и ответ здесь: https://forum.ionicframework.com/t/images-not-displayed-on-device/89145)

Ответ 2

Вам не нужно использовать ../assets/. Просто укажите путь из assets/img/.

Для изображений в вашем CSS (background-image, border-image, etc.) Вам нужно использовать ../assets/.

Как только вы создадите приложение, структура файла будет выглядеть так:

 assets/
    img/
       img1.jpg
       img2.jpg

 build/
    main.css
    polyfills.js
    main.js

 index.html

HTML будет динамически добавлен в index.html. Таким образом, src тега img будет находиться в том же месте файла index.html. Итак, assets/img/*.jpg достаточно для src тега img. Если перейти к файлу CSS, папка активов - это папка, в которой она находится. Итак, для использования изображений в CSS, таких как background-image, border-image и т.д. Нам нужно указать путь, например, ../assets/img/*.jpg.

Ответ 3

Добавьте ваши изображения в src/assets/imgs directory

Установить путь к изображению в HTML как

<img src="assets/imgs/example.jpg">

Установить путь к изображению в SCSS как

background-image: url(../assets/imgs/example.jpg);

Будет работать браузер, эмулятор и сборка

Ответ 4

Моя проблема была в верхнем регистре имени файла в папке. Проверка его сейчас

введите описание изображения здесь

Ответ 5

В Ionic (v3) он должен работать, у меня это работает.

<img src="assets/img/image.jpg">  

дополнительный

Если URL вашего изображения является динамическим, то вы можете использовать привязку свойств, иногда она не работает на реальном устройстве, когда мы используем img src like-

    <img src="{{imageUrl}}">  

затем он работает в браузере, но в реальном устройстве иногда не работает, поэтому мы используем свойство еще одним способом binding-

    <img [src]="imageUrl">  

это работа на реальном устройстве.

Ответ 6

Я столкнулся с одной и той же проблемой, но решил путь от относительного к абсолюту и теперь работает. Я также хотел бы поделиться своим опытом, что я не изменил файл angular, который требует, чтобы img location lolx был забавным, но я сделал это, чтобы также посмотреть вашу HTML-страницу.

Ответ 7

Реальное решение, которое я чувствую, - это сделать все ваши пути, такие как src= "assets/img/image.jpg", и как только вы это сделаете повсюду в своем приложении src, выполните сборку: ionic cordova build... Это позволит убедиться что изображения появляются в следующем прогоне.

Ответ 8

Изображение не отображается для ionic cordova build android Я нашел это решение в Ionic 3.

попробуй это:

<img src="/android_asset/www/assets/imgs/avatar.png" alt="Loading...">

это работает для меня.

Ответ 9

В моем приложении изображения отображаются в браузере и в реальном приложении отлично, помещая изображения не в актив, а в www/img и получая их в html файлах с помощью:

<img src="img/filename.png" />

Ответ 10

Добавьте свое изображение в папку src/app/assets/folder

как показано ниже

    <img src="assets/img/bjork-live.jpg"/>

Ответ 11

Если вы ссылаетесь на изображение из шаблона html, вы используете <img src="assets/img/mypic.png"> он работал у меня ионным v3

Ответ 12

Я также столкнулся с этой проблемой и решил ее, сославшись на все источники изображений в файлах шаблонов, как если бы они отображались из файла index.html в каталоге "src".

<img src="assets/path_to_img_file_in_assets_folder">

Причина, по которой это работает при использовании "ионной подачи", но не после сборки устройства, заключается в том, что "ионная подача" использует локальный http-сервер, поэтому файлы в конечном итоге запрашиваются как " http://localhost: port_number/assets/path_to_file " (что правильно). Однако после того, как apk собран для устройства, локальный сервер не используется, и файлы становятся недоступными, поскольку шаблон отображается из файла index.html.

Ответ 13

Это случилось со мной, и я решил это следующим образом, убедитесь, что в деталях изображения файл похож на .jpg или .JPG, это может показаться простым, но сделайте тест, и вы увидите, что проблема будет исправлена.,

Ответ 14

Я хотел бы добавить еще одну вещь к ответам выше - это было проблемой для меня уже дважды, и я должен был изучить это трудным способом оба раза.

Таким образом, если вы добавите подпапку, например "Test", в путь к активам и создадите приложение, папка Test будет создана в папке "www".

Если вы позже переименуете папку внутри src/в "test" (обратите внимание на строчную букву t), имя внутри "www" останется как "Test" (обратите внимание на прописную букву t), и изображения будут загружаться в браузере нормально (если вы использовать ионную подачу). Но если вы запустите его на устройстве Android, это не сработает (изображения не будут отображаться). Таким образом, вы должны вручную переименовать папки также в папке www.

Эта "проблема" сохраняется в Windows, не обязательно для Linux/Mac OS, но у меня есть ощущение, что этой проблемы не будет, поскольку заглавная буква T не будет рассматриваться как строчная буква T.

Ответ 15

Вставьте изображения в папку активов.

например: активы /IMG/admin.png.

в вышеприведенном пути работает отлично. Мое изображение доступно в папке Asset внутри папки img. У меня есть изображение, поэтому я получаю описанный выше метод. Не используйте..asset/img. ,

Ответ 16

<img src="./assets/img/image.jpg"/>

Поскольку весь шаблон компонентов будет добавлен в index.html, поэтому путь ресурса изображения будет относиться к index.html, а не по отношению к файлу шаблона