我试图检索我以base64编码格式接收的图像的内容类型和文件名。在rails上检索文件名和内容类型从base64编码图像ruby
这里是正在做与base64编码的图像
require 'net/http'
require "rubygems"
require 'active_support'
url = URI.parse('http://localhost:3000/')
image = ActiveSupport::Base64.encode64(open("public/images/rails.png").to_a.join)
post_params = {'image' => image }
Net::HTTP.post_form(url, post_params)
在控制器中的POST请求的代码,我需要得到这个图像的内容类型和文件名。所以首先我解码它
image = ActiveSupport::Base64.decode64(params[:image])
image_data = StringIO.new(image)
然后我卡住了!
我基本上想用回形针保存这张图片。需要一些认真的帮助!
更新: 我无法发送内容类型和文件名的参数。我只是模仿发送这个的客户端(并且我无法控制添加额外的参数)
难道你不能只添加另一个post_param?就像{'filename'=>'rails.png'} – Serabe
不!我正在开发的api不会发送任何其他参数。只有编码的图像数据。所以,我想知道,如果不发送任何其他参数,这是否可能。 – Madhusudhan
你没有考虑使用用户提供的文件名来保存内容,对吗?这是一个坏主意。 –