Как отформатировать и отобразить вложение изображения AWS S3 для использования в React? - PullRequest
0 голосов
/ 27 марта 2019

Я отправляю вложения изображений из React в Rails Active Storage как большой двоичный объект. Все загружается в AWS S3, но возвращаемые данные не подходят для визуализации с <Image.

Вот пример того, что возвращается в React:

 avatar: "/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2…736b6edc83b7ccfc91c7914d7eb595a697fb/IMG_2008.png"

Моя User модель выглядит так:

class User < ApplicationRecord
    include Rails.application.routes.url_helpers

  has_secure_password
  has_one_attached :avatar

  def avatar_filename
    self.avatar.filename.to_s if self.avatar.attached?
  end

  def avatar_attached?
    self.avatar.attached?
  end

  has_many :sightings
  has_many :animals, through: :sightings
  has_many :comments, :as => :commentable, dependent: :destroy


  validates :username, uniqueness: true

  def attachment_url
    if self.attachment.attached?
      Rails.application.routes.url_helpers.rails_blob_path(self.attachement, only_path:true)
    else
      nil
    end
  end

end

и UserSerializer выглядит так:


class UserSerializer < ActiveModel::Serializer
  include Rails.application.routes.url_helpers

  attributes :id, :name, :username, :avatar

  has_many :sightings
  has_many :animals, through: :sightings

  def avatar
    rails_blob_path(object.avatar, only_path: true) if object.avatar.attached?
  end


end

Так что я использую url_helper, но не уверен, правильно ли я использую, так как я новичок, и документация может сбить с толку.

...