MySQL BLOB에서 이미지 표시: 호환되지 않는 콘텐츠 출력 해결
MySQL 데이터베이스에 BLOB 변수로 저장된 이미지를 표시하는 맥락에서 , 이미지 데이터 외부에 추가 텍스트를 에코하려고 할 때 일반적인 문제가 발생합니다. 이로 인해 이미지가 올바르게 표시되지 않습니다.
이 동작의 이유는 브라우저가 BLOB 콘텐츠 이후의 모든 출력을 이미지의 일부로 해석하여 오류를 발생시키기 때문입니다. 이 문제를 해결하기 위해 base64 인코딩을 활용하여 BLOB 데이터를 태그.
다음은 PHP 코드의 업데이트된 버전입니다.
<code class="php"><?php include("inc/library.php"); connectToDatabase(); $sql = "SELECT * FROM theBlogs WHERE ID = 1;"; $result = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_array($result); // Convert image data to base64 $base64Image = base64_encode($row['imageContent']); // Output the base64 encoded image in an <img> tag echo '<img src="data:image/jpeg;base64,' . $base64Image . '" />'; // Echo additional text after the image echo 'Hello world.'; $db->close(); ?></code>
이 기술을 사용하면 간섭 없이 추가 텍스트와 함께 이미지를 표시할 수 있습니다. 그러나 데이터 URI를 사용하면 캐싱 성능에 영향을 미칠 수 있으며 특히 모바일 장치에서 페이지 로딩 속도가 느려질 수 있다는 점에 유의하는 것이 중요합니다.
위 내용은 MySQL BLOB에서 이미지 표시 문제 해결: 이미지 및 텍스트를 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!