Я создаю приложение блога, которое запускает рельсы в 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 и т. Д. Вместо этого?
Спасибо, ребята!