При попытке отобразить изображение появляется ошибка «404 not found» - PullRequest
0 голосов
/ 12 октября 2018

Я использую Rails Api 5.1.6 в качестве бэкэнда.В качестве клиента я использую Angular 4. Все данные хранятся в базе данных Oracle.Изображения в базе данных хранятся в формате «Blob».Я также использую драгоценный камень для работы с изображениями в Rails Api.

Поэтому, когда я пытаюсь отобразить изображение на клиенте, появляется ошибка " 404 not found ".Вот ошибка в консоли:

GET http://localhost:4200/photos/original/missing.png 404 (не найдено)

Я также пытался перейти по этой ссылке:

http://localhost:3000/photos/original/missing.png

Но такая ошибка возникает (если вам нужно, я могу добавить полную ошибку здесь):

"# ActionController ::RoutingError: Не найдено ни одного маршрута [GET] "/photos/original/missing.png""

JSON:

[
{
l_users_id: 65,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1357,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1358,
photo: "/photos/original/missing.png"
},
{
l_users_id: 51,
photo: "/photos/original/missing.png"
},
{
l_users_id: 2,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1360,
photo: "/photos/original/missing.png"
},
{
l_users_id: 0,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1372,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1371,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1370,
photo: "/photos/original/missing.png"
},
{
l_users_id: 1373,
photo: "/photos/original/missing.png"
}
]

photos_controller.rb:

class PhotosController < ApplicationController

    def index
        @photos = Photo.all

    array = @photos.map do |photo|
        photo_push = {
            l_users_id:      photo.l_users_id,
            photo:           photo.photo.url
        }

        photo_push
    end

    render json: array
  end

    def show
        @photo = Photo.find(params[:id])
        photo_hash = {
            l_users_id:      photo.l_users_id,
            photo:           photo.photo.url
        }

        render json: photo_hash
    end

end

photo.rb:

class Photo < ActiveRecord::Base
  self.primary_key = "l_users_id"

  has_attached_file :photo

  validates_attachment_presence :photo
  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']

end

1 Ответ

0 голосов
/ 05 августа 2019

src="http://localhost:8080/images/missing.png"

переместить это в папку public/images

...