簡體   English   中英

Base64編碼錯誤

[英]Base64 encoding error

點擊上傳按鈕后,圖片未顯示,base64編碼錯誤。

瀏覽器僅顯示二進制代碼。

 $showimage = "images/".$_FILES['image']["name"];

$show = new imagick( $showimage );
$points = array(
            0,0, 0,0, # top left  
            213,0, 213,20, # top right
            213,160, 213,110, # bottom right 
            0,160,  0,160,# bottum left
            );
$show->setimagebackgroundcolor("#ffffff");
$show->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$show->distortImage( Imagick::DISTORTION_PERSPECTIVE, $points, TRUE );
echo "<img src='$show'>";

?>

嘗試:

$imageData = base64_encode($show->getImageBlob);
echo "<img src='data:image/png;base64,$imageData'>";

您需要提供header的圖像類型,你也不必echo使用<img>標簽。

請遵循以下代碼。

$showimage = "images/".$_FILES['image']["name"];

$show = new imagick( $showimage );
$points = array(
            0,0, 0,0, # top left  
            213,0, 213,20, # top right
            213,160, 213,110, # bottom right 
            0,160,  0,160,# bottum left
            );
$show->setimagebackgroundcolor("#ffffff");
$show->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$show->distortImage( Imagick::DISTORTION_PERSPECTIVE, $points, TRUE );
header("Content-Type: image/png"); //<--- Provide the header
echo $show; //<--- Removed the tags

?>

$ imgData = addslashes(file_get_contents($ _ FILES ['userImage'] ['tmp_name'])));

//將圖像存儲到具有數據的$ imgData數據ytpe blo bin mysql

     echo '<img src="data:image/png;base64,' . base64_encode($imgData) . '"/>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM