Понимание разницы/эквивалентности изображения, хранящегося на сервере, и данных изображения, хранящихся в переменной в PPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Понимание разницы/эквивалентности изображения, хранящегося на сервере, и данных изображения, хранящихся в переменной в P

Сообщение Anonymous »

У меня есть рабочий PHP-код, который извлекает файл с диска и отправляет его в API следующим образом.

Код: Выделить всё

WORKING CODE - MAIN API
$imagePath = "./myimagefile.png";
$realpath = realpath($imagePath);
$url = 'https://api.fastapi.com';
$fields = array(
'image' => '@'.$realpath
);
$ch = curl_init($url);
//various cURL options
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$response = curl_exec($ch);
Теперь я хочу пропустить этап сохранения на диск и отправить файл, полученный от другого API, но получаю сообщение об ошибке «Файл не отправлен».
Вот как я могу получить файл и отобразить его в браузере. В браузере оно отображается нормально, поэтому я получаю правильное изображение.

Код: Выделить всё

Helper API
$response = curl_exec($curl);
curl_close($curl);
header('Content-Type: image/png');
echo ($response); //Displays the image fine
Вот мой модифицированный НЕРАБОТАЮЩИЙ код для захвата изображения из вспомогательного API и последующей замены его в исходный API, но он выдает ошибку: файл не отправлен.

Код: Выделить всё

NON-Working
HELPER API
$response = curl_exec($curl);
curl_close($curl);
//header('Content-Type: image/png');
//echo ($response);
$imageData = $response; //Have tried this version and the encoded version below
//$imageData = base64_encode($response);

MAIN API
$fields = array(
'image' => $imageData
);
$ch = curl_init($url);
$response = curl_exec($ch;//no file sent error returned
Мне пришло в голову, что между файлом, хранящимся на диске, и файлом, который отображается в браузере после установки типа mime, может быть некоторая разница, возможно, связанная с кодировкой.
Мне пришло в голову, что между файлом, хранящимся на диске, и файлом, который отображается в браузере после установки типа mime, может быть некоторая разница.
p>
Мой вопрос: может ли быть разница между файлом на диске и файлом, хранящимся в переменной?
Альтернативно, что может быть не так с моим файлом, который из-за чего API не распознает его?
Спасибо. заранее за любые предложения.

Подробнее здесь: https://stackoverflow.com/questions/793 ... r-vs-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»