Rails 5使用Rest Client发布文件

问题描述 投票:0回答:2

我试图在多部分数据中发布文件,从我的服务器发布到外部服务器。

当我到达页面时,我正在尝试完善此操作,因此使用页面控制器来执行此页面的操作:

Def page

    RestClient::Request.execute('https://.......', :file => File.new("app/assets/file/28000JAM20.344", 'rb'), headers={:type => 'file',
            :size => 40, :name => 'contact'})

end

到目前为止,我无法发布任何内容,我缺少什么?

ruby-on-rails rest
2个回答
1
投票

首先,Def关键字始终是小写字母。现在让我们谈谈你没有指定请求类型的问题。据我说它必须是邮寄请求类型。所以尝试下面的解决方案

    def page
        request = RestClient::Request.new(
                :method => :post,
                :url => 'https://.......'
                :payload => {
                :multipart => true,
                :file => File.new("app/assets/file/28000JAM20.344", 'rb')
              })
        response = request.execute
    end

0
投票

这是解决方案:

  def page
    require 'rest-client'
    @filep = 'yourfilepath'

    request = RestClient::Request.new(
            :method => :post,
            :verify_ssl =>  OpenSSL::SSL::VERIFY_NONE,
            :url => 'your url',
            :payload => {
            :multipart => true,
            :file => File.new(@filep, 'rb')
          },
            :headers => {:type => 'file', :size => 40, :name => 'myfile'}
          )
    response = request.execute

  end
© www.soinside.com 2019 - 2024. All rights reserved.