2013-09-10 109 views
0

如何将图片转换为二进制BASE64并通过发送到另一个API来保存?将图片转换为二进制BASE64

它看起来是这样的:

  1. 用户导入照片通过HTML表单,并把它转换成二进制BASE64代码:

    base64_encode = Base64.encode64(img_from_fild_form) 
    
  2. 的数据被发送到另一个API(媒体):

    options = { :auth_key=>01qw6, :post_id=>20, :base64_encode=>base64_encode } 
    HTTParty.post('localhost:9000/save_image', options) 
    
+0

“二进制BASE64”没有意义,因为BASE64是二进制或文本的ASCII编码。 –

回答

1

如果输入是从轨道的形式,那么它可能那么容易,因为:

Base64.encode64(params[:key_for_file].read) 

上传的文件很可能这应该是容易的ActionDispatch::Http::UploadedFile

+0

如何获取ActionDispatch :: Http :: UploadedFile的实例。 检视: '= file_field_tag:file' 控制器: '上传= ActionDispatch :: HTTP :: UploadedFile.new({ :临时文件=> File.new( “ig.png”) })' –

+0

是这一个问题?你不需要手动实例化它。 Rails params解析器应该为你做。 – firien

0

实例为:

require 'base64' 
base64_encoded = Base64.encode64(img_from_file_form) 

希望有所帮助。 :)

相关问题