PHP base64图像uri不显示图像

PHP base64图像uri不显示图像,php,base64,uri,Php,Base64,Uri,如果上传的图像太大,我会尝试缩小它。用户上传图像,如果需要,图像会缩小,然后图像会输出到用户的画布上。上传的图像不应该长期保存到服务器上,如果可以避免的话,根本不应该保存到服务器上。为此,我已将图像转换为base64 uri,但在输出uri时,图像返回为断开 if (!empty($_FILES)) { $maxDim = 800; $name = $_FILES['file']['name']; $file_name = $_FILES['file']['tmp_name'];

如果上传的图像太大,我会尝试缩小它。用户上传图像,如果需要,图像会缩小,然后图像会输出到用户的画布上。上传的图像不应该长期保存到服务器上,如果可以避免的话,根本不应该保存到服务器上。为此,我已将图像转换为base64 uri,但在输出uri时,图像返回为断开

if (!empty($_FILES)) {
  $maxDim = 800;
  $name = $_FILES['file']['name'];
  $file_name = $_FILES['file']['tmp_name'];
  $extension = explode(".", $name);
  $extension = end($extension);
  list($width, $height, $type, $attr) = getimagesize( $file_name );
  if ( $width > $maxDim || $height > $maxDim ) {
      $target_filename = $file_name;
      $ratio = $width/$height;
      if( $ratio > 1) {
          $new_width = $maxDim;
          $new_height = $maxDim/$ratio;
      } else {
          $new_width = $maxDim*$ratio;
          $new_height = $maxDim;
      }
  }
  else
  {
    $new_width = $width;
    $new_height= $height;
  }
  $src = imagecreatefromstring( file_get_contents( $file_name ) );
  $dst = imagecreatetruecolor( $new_width, $new_height );
  imagecopyresampled( $dst, $src, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
  imagedestroy( $src );
  ob_start();
  imagejpeg( $dst, $target_filename ); // adjust format as needed
  $contents = ob_get_contents();
  ob_end_clean();
  $url = rtrim(strtr(base64_encode($contents), '+/', '-_'), '=');
  $image_data = "data:image/$extension;base64,$url";
  echo "<img src='$image_data'/>";
  imagedestroy( $dst );
}
这是一个在改装后没有任何改动的

data:image/jpg;base64,PGJyIC8+Cjxmb250IHNpemU9JzEnPjx0YWJsZSBjbGFzcz0neGRlYnVnLWVycm9yIHhlLW5vdGljZScgZGlyPSdsdHInIGJvcmRlcj0nMScgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScxJz4KPHRyPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2Y1NzkwMCcgY29sc3Bhbj0iNSI+PHNwYW4gc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7IGNvbG9yOiAjZmNlOTRmOyBmb250LXNpemU6IHgtbGFyZ2U7Jz4oICEgKTwvc3Bhbj4gTm90aWNlOiBVbmRlZmluZWQgdmFyaWFibGU6IHRhcmdldF9maWxlbmFtZSBpbiBDOlxXYW1wXHd3d1xzY2VudGltZW50YWxcd3AtY29udGVudFx0aGVtZXNcc2NlbnRpbWVudGFsXHJlZHVjZS1waG90by1zaXplLnBocCBvbiBsaW5lIDxpPjMwPC9pPjwvdGg+PC90cj4KPHRyPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2U5Yjk2ZScgY29sc3Bhbj0nNSc+Q2FsbCBTdGFjazwvdGg+PC90cj4KPHRyPjx0aCBhbGlnbj0nY2VudGVyJyBiZ2NvbG9yPScjZWVlZWVjJz4jPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPlRpbWU8L3RoPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2VlZWVlYyc+TWVtb3J5PC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPkZ1bmN0aW9uPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPkxvY2F0aW9uPC90aD48L3RyPgo8dHI+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjE8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4wLjAwMTI8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0ncmlnaHQnPjI2NTAzMjwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnPnttYWlufSggICk8L3RkPjx0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

为什么不输出工作映像?

如果不将映像保存在服务器上,为什么需要上传?我错过什么了吗?这似乎是对在浏览器中使用一行JavaScript就可以完成的事情的极大的过度使用。我们正在处理多个图像。如果用户上载的图像太大,我希望在将其切换到uri之前对其进行收缩。图像将被使用并推送到画布上。包含所有图像编译的画布稍后将上载到服务器。
$image\u data=''data:image/'.$extension.base64'..base64\u encode($contents)。'@Premlatha,unsuccessful:/,其结果与之前相同
data:image/jpg;base64,PGJyIC8+Cjxmb250IHNpemU9JzEnPjx0YWJsZSBjbGFzcz0neGRlYnVnLWVycm9yIHhlLW5vdGljZScgZGlyPSdsdHInIGJvcmRlcj0nMScgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScxJz4KPHRyPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2Y1NzkwMCcgY29sc3Bhbj0iNSI+PHNwYW4gc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7IGNvbG9yOiAjZmNlOTRmOyBmb250LXNpemU6IHgtbGFyZ2U7Jz4oICEgKTwvc3Bhbj4gTm90aWNlOiBVbmRlZmluZWQgdmFyaWFibGU6IHRhcmdldF9maWxlbmFtZSBpbiBDOlxXYW1wXHd3d1xzY2VudGltZW50YWxcd3AtY29udGVudFx0aGVtZXNcc2NlbnRpbWVudGFsXHJlZHVjZS1waG90by1zaXplLnBocCBvbiBsaW5lIDxpPjMwPC9pPjwvdGg+PC90cj4KPHRyPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2U5Yjk2ZScgY29sc3Bhbj0nNSc+Q2FsbCBTdGFjazwvdGg+PC90cj4KPHRyPjx0aCBhbGlnbj0nY2VudGVyJyBiZ2NvbG9yPScjZWVlZWVjJz4jPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPlRpbWU8L3RoPjx0aCBhbGlnbj0nbGVmdCcgYmdjb2xvcj0nI2VlZWVlYyc+TWVtb3J5PC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPkZ1bmN0aW9uPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlZWVlZWMnPkxvY2F0aW9uPC90aD48L3RyPgo8dHI+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjE8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4wLjAwMTI8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0ncmlnaHQnPjI2NTAzMjwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnPnttYWlufSggICk8L3RkPjx0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