Как получить изображение, загруженное с помощью AWS S3 из Rails-API, для взаимодействия с внешним интерфейсом через объект JSON? - PullRequest
0 голосов
/ 22 декабря 2018

Я создаю приложение блога, которое запускает рельсы в API-режиме.Мне нужно вывести изображения из блога на веб-интерфейс и отобразить их в стандартном html-теге img.Я использую активное хранилище для загрузки изображений в aws s3 из моего rails-API.

Моим временным решением было запустить метод жизненного цикла "before_save", который имеет следующий код:

defset_image_url, если self.image.attached?self.image_url = self.image.service_url end end

Это создает URL-адрес местоположения изображения в корзине.

Вот два действия posts_controller, которые используются для обслуживания приложения внешнего интерфейса (используя реагирование).

def show
  render json: @post
end

def index
  @posts = Post.all.where.not(published_at: nil)
  render json: @posts
end

В ответ я использую следующий запрос на получение:

componentDidMount() {
    const { slug } = this.props.match.params;
    axios.get(`/api-url/${slug}`)
    .then(res => {
      this.setState({ post: res.data});
    })
    .catch(error => console.log(error));
}

Мне бы очень хотелось, чтобы я не смог раскрыть свой URL-адрес корзины AWS s3.Прав ли я, что это рискованно и небезопасно?Как я могу отправить post.image как JSON, используя что-то вроде base64 и т. Д. Вместо этого?

Спасибо, ребята!

...