gpt4 book ai didi

Ruby 使用非 libcurl 库上传文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:06 24 4
gpt4 key购买 nike

出于纯粹的好奇心,我使用以下行将文件上传到 Sinatra 应用程序:

curl -silent --location --upload-file #{file} http://0.0.0.0:3000/sent/

它就像魅力一样。但是,如果我想使用像 HTTPClient 这样的纯 ruby 解决方案,获得相同结果的代码是什么?能举个例子吗?

注意:我对libcurl相关的解决方案不感兴趣。如果有另一个 gem,除了 HTTPClient 可以在 pure ruby​​ 中实现这一点,请分享。

最好的问候

最佳答案

鲁比的 Net::HTTP允许您上传文件。来自文档:

uri = URI('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(uri.path)
req.set_form_data('from' => '2005-01-01', 'to' => '2005-03-31')

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end

case res
when Net::HTTPSuccess, Net::HTTPRedirection
# OK
else
res.value
end

将您的文件主体添加到 set_form_data 散列中,然后您就可以开始了。

关于Ruby 使用非 libcurl 库上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com