【问题标题】:Display an image from a json format Ruby on rails显示 json 格式的图像 Ruby on rails
【发布时间】:2020-02-03 15:58:33
【问题描述】:

我尝试在我的视图中渲染一个 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.

&lt;%= @data %&gt; 显示的是 json 文件,而不是 json 应该是的图片

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

【问题讨论】:

  • json格式的图片?什么?大多数图像格式,如 jpg、gif 和 png 都是二进制的。 SVG 是基于 XML 的。要通过 JSON 发送其中任何一个,您必须将文件 base64 编码为字符串,然后在另一端对其进行解码。
  • app/assets/javascripts/economie.json的内容怎么样?是二进制文件吗?或者它是否包含图像的路径?

标签: ruby-on-rails json ruby


【解决方案1】:

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

最佳解决方案

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

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

不推荐的方法

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2013-09-09
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    相关资源
    最近更新 更多