使用进度条以块的形式上传文件

时间:2016-05-08 05:42:11

标签: ruby http post file-upload upload

我希望在每个块之后更新进度条时以块的形式上传文件,在ruby中,最好不要使用任何宝石或插件。

我有这个帖子:

uri = URI.parse("http://some/url")
http = Net::HTTP.new(uri.host,uri.port)
req = Net::HTTP::Post.new(uri.path)
req['some'] = 'header'
req.body_stream = File.new('some.file')
req.content_length = File.size('some.file')
res = https.request req

它在这一行中将文件上传到一个单独的部分:

res = https.request req

我想更新侧面的进度条。

相反,使用纯红宝石中的进度条下载很容易,您可以找到这样的参考:

uri = URI('http://example.com/large_file')
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri
  http.request request do |response|
    open 'large_file', 'w' do |io|
      response.read_body do |chunk|
        io.write chunk
      end
    end
  end
end

有没有办法像上面那样做类似的东西,但是在Ruby中上传?

0 个答案:

没有答案