我在使用 Net::HTTP.get_response 请求一个网址时,上于我需要传一些参数,正常情况下都是 ok 的,但是如果我要传送一个图片,对方给出的要求是将图片转换成 byte[] 数组后,再通过 http 请求传输过来。但我在 ruby 中使用 Net::HTTP.get_response 的时候,传递这个大的 byte 数组的时候,就会报 Broken pipe,大家以前碰到过类似的问题吗?有什么解决方案吗?
#读取图片,并转换成byte数组
def read_image(image_url)
uri = URI(image_url)
resp = Net::HTTP.get_response(uri)
resp.body.bytes.to_a
end
请求的代码片段,param_map 中放了那个图片流数组
uri = URI('http://gw.api.taobao.com/router/rest')
uri.query = URI.encode_www_form(param_map)
resp = Net::HTTP.get_response(uri)