【发布时间】:2015-06-13 16:17:21
【问题描述】:
在 ruby 中,我想得到与下面的代码相同的结果,但不使用 curl:
curl_output = `curl -X POST -s --form "input=@#{png_image_file};type=image/png" http://pngcrush.com/crush > #{compressed_png_file}`
我试过这个:
#!/usr/bin/env ruby
require "net/http"
require "uri"
# Image to crush
png_image_path = "./media/images/foo.png"
# Crush with http://pngcrush.com/
png_compress_uri = URI.parse("http://pngcrush.com/crush")
png_image_data = File.read(png_image_path)
req = Net::HTTP.new(png_compress_uri.host, png_compress_uri.port)
headers = {"Content-Type" => "image/png" }
response = req.post(png_compress_uri.path, png_image_data, headers)
p response.body
# => "Input is empty, provide a PNG image."
【问题讨论】: