сохранить бинарный файл в локальном каталоге — приложения salesforce

У меня есть функция в salesforce, в которой я получаю вложение, которое может быть любого типа файла (pdf, xls, png, …).

function getData($access_token,$instance_url,$url){
$url = $instance_url."/services/data/v32.0/".$url;
$headers = array('Authorization: OAuth ' . $access_token);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
//curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
//curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers);
$requestBody = curl_exec ($ch);
$result = json_decode($requestBody, true);
return $result;

}
$attId = "00P0f00000ly5ZCEAY";
$body = "sobjects/Attachment/00P0f00000ly5ZCEAY/Body";

$file = getData($access_token,$instance_url,$body);

В результате файл возвращается в двоичном виде.

so $ file = // Some Binary File

Что я могу сделать с $ file, чтобы сохранить его локально?

прямо сейчас результат этой функции:

??%???T?)???)?eFa???Bɶ?l6???,?0?l?%kc?w?cՂX8?"?*Q>?ē??/y???=??T??Ċ?sǓ???l...
.
...

похоже, он пытается напечатать файл на моем экране.

0

Решение

необходимо установить правильный curl_opts

        $headers = array('Authorization: OAuth ' . $access_token);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt ( $ch, CURLOPT_BINARYTRANSFER, TRUE );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]