У меня есть скрипт php, который хранит изображения из запроса на печать. Сценарий размещается на Host MonsterStream Write Invalid Image Content
Вот мой сценарий
<?php
$path = 'test.png';
$put = fopen("php://input", "r");
$fp = fopen($path, "w");
while ($data = fread($put, 1024))
fwrite($fp, $data);
fclose($fp);
fclose($put);
echo 'done';
?>
Мой сценарий работает хорошо. Теперь я портировал этот скрипт на google-appengine и теперь сохранял недопустимые изображения. Вот сценарий приложения-двигателя
<?php
$path = 'gs://my-bucket/test.png';
$options = ['gs' => ['Content-Type' => 'image/jpeg' , 'acl'=>'public-read']];
$ctx = stream_context_create($options);
$put = fopen("php://input", "r");
$fp = fopen($path, "w",false,$ctx);
while ($data = fread($put, 1024))
fwrite($fp, $data);
fclose($fp);
fclose($put);
echo 'done';
?>
Файлы создаются с использованием недопустимого содержимого. Может ли кто-нибудь помочь/указать, что я делаю неправильно?
Можете ли вы предоставить больше данных о том, что на самом деле записывается в ведро? Правильно ли длина файла? Чем отличается от того, что загружается? –
Неверная длина файла. В данных есть дополнительные байты. Я открыл сохраненный файл в блокноте и сравнил его с другим файлом изображения, и данные не совпадают. Вот ссылка на исходный файл https://www.dropbox.com/s/fhysugy74jopklf/source.png, и вот ссылка выходного файла https://www.dropbox.com/s/lqfi3dm4fbtxtd5/stored_file.png – junto