首页 > 解决方案 > 显示 json 格式的图像 Ruby on rails

问题描述

我尝试在我的视图中渲染一个 json 格式的图像,我存储 .json 文件并尝试这个我的控制器:

class StaticController < ApplicationController
  require 'json'

  def index
    file = File.open "app/assets/javascripts/economie.json"
    @data = JSON.load file

  end
end

还有我的看法:

 <%= image_tag(@data ) %>

我有错误:Nil location provided. Can't build URI.

<%= @data %>显示 json 文件而不是 json 应该是的图片

任何人都知道如何修复它?(我无法在此处显示 json 文件,因为它太长了)

标签: ruby-on-railsjsonruby

解决方案


将图像作为 JSON 发送不是一个好主意。请检查,JPEG 等图像是如何存储的 JPEG wiki

最佳解决方案

  1. 在 CloudFare 或 Amazon S3 等云服务器中上传图片。上传图片后,您可以从 json 发送图片的 URL。

Rails 6 使用主动存储做检查一次

不推荐的方法

  1. 为了专注于问题,我没有尝试过,但黑客的方式是发送图像文件和文件扩展名的所有原始内容。之后,您可以使用从 API 接收的内容和扩展名再次重建文件

推荐阅读