我是ruby编程的新手。
我已经了解了ruby中的文件附件。在此我了解了如何在http请求中附加文件。但我被搜索了如何在http响应中本地读取和保存附加文件。但是我没有得到任何东西。
更新: -
从ruby脚本我向php程序发出http请求。
请求来源是,
payload={"id":"1004"}
uri = URI.parse("https://example.com/test.php")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request.body = payload.to_json
# request.use_ssl = true
# request.verify_mode = OpenSSL::SSL::VERIFY_NONE
# logger.info "request body is #{request.body.inspect}"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE,:read_timeout => 25 ) { |http| http.request(request) }
从test.php验证id是否有效,然后在响应中附加文件内容。
这个来源是,
$filename="test.mp3";
if (file_exists($filename)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($filename);
# exit;
}
我想要的是,在http请求的ruby脚本中,将从服务器收到一个响应。从该响应中,我提取了文件内容并将其存储在本地。
我被搜索了如何处理文件内容作为响应。但我没有得到任何东西。
请帮我在红宝石中如何做到这一点。