嗨我见过httparty,但我不知道如何实现有很多模型文件的例子,但是可以使用哪个参数来上传视频文件
答案 0 :(得分:6)
HTTMultiParty通过发布多部分MIME文档来支持文件上传。它包装HTTParty,因此您以相同的方式使用它。对于该文件,只需提供一个File对象。自述文件中的示例:
require 'httmultiparty'
class SomeClient
include HTTMultiParty
base_uri 'http://localhost:3000'
end
response = SomeClient.post('/', :query => {
:foo => 'bar',
:somefile => File.new('README.md')
})
答案 1 :(得分:1)
HTTParty似乎不支持文件上传(至少截至2009年):
Google群组有些人说它不受支持: http://groups.google.com/group/httparty-gem/browse_thread/thread/fe8a3af8c46e7c75
答案 2 :(得分:0)
通过使用RestClient gem,我们可以轻松处理文件上传,但请确保安装rest-client gem。
我还附上了邮递员的示例请求的屏幕截图。
控制器中的代码如下所示,
res = RestClient::Request.execute(
method: :post,
url: "http://www.your_url.com",
payload: params,
headers: {
'Content-Type' => "multipart/form-data",
Authorization: "some_key",
:Accept => "*/*"
}
)
答案 3 :(得分:0)
以下是HTTParty中的多部分示例:
# If you are uploading file in params, multipart will used as content-type automatically
HTTParty.post(
'http://localhost:3000/user',
body: {
name: 'Foo Bar',
email: 'example@email.com',
avatar: File.open('/full/path/to/avatar.jpg')
}
)
现在,您可以按以下方式在控制器中访问上载的文件:
uploaded_io = params[:avatar]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end