在Rails控制台中获取cURL响应主体

时间:2015-08-14 11:42:30

标签: ruby-on-rails ruby post curl database-migration

我正在进行数据库迁移,我需要使用Rails控制台中的cURL将旧数据库中的映像上传到Filepicker。我有一个有效的命令,我需要的是从响应中获取Filepicker URL。但是,如下设置响应只会返回true

所以这会根据需要将文件上传到Filepicker:

res = system("curl -X POST -F fileUpload=@oldimages/oldimage#{id}.jpg https://www.filepicker.io/api/store/S3\?key\=OURAPIKEY")

给出这个输出:

{"url": "https://www.filepicker.io/api/file/THEURL", "size": 207610, "type": "image/jpeg", "filename": "oldimage1.jpg"} => true

问题是我无法分配网址 - res变量仅存储true

因此,简而言之,如何访问其余数据以将其分配给新数据库中的实例?

1 个答案:

答案 0 :(得分:3)

如果你需要运行curl,你可以这样做

 body=`curl -X POST -F fileUpload=@oldimages/oldimage#{id}.jpg https://www.filepicker.io/api/store/S3\?key\=OURAPIKEY`

body = %x(curl -X POST -F fileUpload=@oldimages/oldimage#{id}.jpg https://www.filepicker.io/api/store/S3\?key\=OURAPIKEY)

IO.popen("curl -X POST -F fileUpload=@oldimages/oldimage#{id}.jpg https://www.filepicker.io/api/store/S3\?key\=OURAPIKEY").read

但如果我是你,我会尝试使用net:http或其他ruby http客户端作为typhoeus或restclient