PHP Imagick()을 사용하여 크기를 조정하고 다운로드 할 때 이미지를 제공 할 때 종종 이미지가 잘립니다.PHP Imagick 다운로드시 이미지가 잘리는 경우가 있습니다.
이런 일이 발생하면 진단 할 수 없지만 문제가 발생하기에 충분합니다. 이 코드에서 $ file은 훨씬 더 큰 이미지 파일로 작은 다운로드를 주문하고 싶습니다. 무슨 일
if (file_exists($file)) {
$image = new Imagick();
$image->setResolution(150,150);
$image->readImage($file);
$image->resizeImage(1275,0,Imagick::FILTER_LANCZOS,1);
$image->setImageCompression(Imagick::COMPRESSION_JPEG);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=download.'.$extension);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
echo $image;
exit;
}
이며, 파일이 제대로 다운로드, 때로는 이미지가 잘립니다 시간의 일부 - 이미지의 상위 30 %가 바로 보이는 나머지는 단지 비어 있습니다. 따라서 파일 크기는 정확하지만 이미지 데이터 만 중간 정도입니다.
문제가 발생했을 수도 있지만 여전히 일관되게 발생하지는 않습니다. 즉, PDF, JPEG 및 PNG로 모두 동일한 작업을 수행하고 원본 확장이 무엇이든지 출력하는 것입니다.
제안 사항?
편집 : 아래를 참조하십시오. 감사!