Здравствуйте.
Если открыть справку (http://help.retailcrm.ru/Developers/ApiVersion5#post--api-v5-files-upload) то там написано Для загрузки файла необходимо поместить его содержимое в тело запроса. Содержимое файла на php получается методом file_get_contents.
Но при просмотре функции апи-клиенте видим проверку входящей переменной как адреса файла: !file_exists($file) и filesize($file) == 0
public function fileUpload($file)
{
if (!file_exists($file)) {
throw new \InvalidArgumentException("File doesn't exist");
}
if (filesize($file) == 0) {
throw new \InvalidArgumentException("Empty file provided");
}
/* @noinspection PhpUndefinedMethodInspection */
return $this->client->makeRequest(
'/files/upload',
"POST",
["file" => $file]
);
}
Так как всё таки будет правильно?
Первый раз я передавал именно путь к файлу и файлы открывались с црм. Но с недавнего времени там стали просто показывать этот путь к файлу. Пришел тогда к выводу что надо использовать file_get_contents, но тогда пришлось отключить эти две проверки. Но сам метод сработал и файлы загрузились.
Здравствуйте. Если открыть справку (http://help.retailcrm.ru/Developers/ApiVersion5#post--api-v5-files-upload) то там написано Для загрузки файла необходимо поместить его содержимое в тело запроса. Содержимое файла на php получается методом file_get_contents. Но при просмотре функции апи-клиенте видим проверку входящей переменной как адреса файла: !file_exists($file) и filesize($file) == 0
Так как всё таки будет правильно? Первый раз я передавал именно путь к файлу и файлы открывались с црм. Но с недавнего времени там стали просто показывать этот путь к файлу. Пришел тогда к выводу что надо использовать file_get_contents, но тогда пришлось отключить эти две проверки. Но сам метод сработал и файлы загрузились.