我正在进行数据库迁移,我需要使用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
。
因此,简而言之,如何访问其余数据以将其分配给新数据库中的实例?
答案 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