【发布时间】:2017-08-01 12:48:58
【问题描述】:
目标:在 IE11 和 Edge 中根据原始数据渲染图像。
问题:
- 图像来自对仅返回原始图像数据的 API 的调用。
- 图像数据服务是内部的,不能也不应该直接从外部网络(互联网)访问。
- 可以使用发送到图像标签
<img src="data://image/jpeg;base64,#{base64encodedDataHere}">的图像的base64 编码在其他浏览器中呈现数据,但它不会在IE 中呈现,因为数据将始终超过此类标签的32kb 限制。
问题:
在我的 Rails 应用程序中,是否可以设置某种代理,以便我可以构建一个指向我的 Rails 应用程序服务器的 URL 并在图像标签中使用它,例如<img src='http://my-rails-app-server.com/images/123'>,然后点击服务进行检索图像数据,然后以某种方式将其返回给浏览器,这与图像源所期望的一样。
一些伪代码:
class ImageProxy < ApplicationController
def show
data = ExternalImageDataRetriever.get_data_from("internal-network-image-service/images/123")
render something: data
end
end
【问题讨论】:
标签: html ruby-on-rails image http proxy