答案 0 :(得分:0)
看起来像这个问题的副本,这里接受的答案可能会帮助你:Ruby: How to post a file via HTTP as multipart/form-data?
使用PUT和rest-client
根据下面的评论,我意识到curl -T命令似乎正在执行HTTP PUT,其中data参数是文件中的二进制数据。使用rest-client ruby gem我相信下面的代码,可能会有一些微小的变化, - 应该为你工作:
require 'rest-client'
RestClient.put "http://server.name/api/file.in", File.read("/my/file/path")
您可能需要为某些类型的文件设置内容类型标头,尽管curl -T似乎没有这样做。在这种情况下,你会这样做:
RestClient.put "http://server.name/api/file.in", File.read("/my/file/path"), :content_type => 'text/plain'
来源:https://github.com/rest-client/rest-client/blob/master/lib/restclient.rb对RestClient模块的评论。