我正在使用Twilio的Profgrammable Fax API获取传真,并希望将PDF存储在我的本地服务器上。
我可以找到有关传真的各种参数,包括 $ _ REQUEST ['MediaUrl'] ,其中包含指向存储PDF的S3 URL的链接。但是,当我尝试使用 CURL (适用于所有其他URL PDF)下载该文件时,我得到了一个0字节的文件(无效)。
这是我使用的PHP代码。 任何人都可以帮助或提供替代的PHP代码来获取FAX介质吗?
注意: $ fax_faxid 是Twilio的ID, $ fax_media是的$ _REQUEST ['MediaUrl']值
$path = "faxes/".$fax_faxid.".pdf";
$ch = curl_init($fax_media);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, $fax_media);
$data = curl_exec($ch);
curl_close($ch);
$result = file_put_contents($path, $data);
if(!$result){echo "error";}else{echo "success";}
我还试图让Twilio将 $ _ REQUEST ['Media'] 中的媒体发送给我,并尝试通过...将其写入文件中。
$file = fopen("MEDIA.pdf", "w") or die("Unable to open file!");
fwrite($file, $fax_media);
fclose($file);
但它不起作用。
这里是我从Twilio支持获得的代码。...谁能从Python将其翻译成PHP?
@app.route('/receiveAction', methods=['POST'])
def receiveAction():
faxMedia = request.form['MediaUrl']
fileReq = requests.get(faxMedia, stream=True)
with open('localFile.pdf', 'wb') as f:
f.write(fileReq.content)
return ('file downloaded locally!', 200)