簡體   English   中英

base64解碼php android

[英]base64 decoding php android

我正在開發一個將照片發送到服務器並從Android保存的應用程序。 該圖像以base64編碼。 解碼后會顯示全黑。

有人知道發生了什么嗎? 這是我正在使用的PHP代碼。

$newFileName = uniqid();
$newFileName = $newFileName.$fileType;                  
$file = file_put_contents($path.'../../uploads/'.$user.'/'.$newFileName.'', base64_decode($file));

我猜您是從畫布上傳數據? 您需要先更正PNG數據並將其另存為PNG文件

$img_data = str_replace('data:image/png;base64,', '', $img_data);
$img_data = str_replace(' ', '+', $img_data);
$decoded_image = base64_decode($img_data);

$PNGfile = $_SERVER['DOCUMENT_ROOT']."/".$upload_path."/temp.png";
file_put_contents( $PNGfile ,$decoded_image);
png2jpg($PNGfile, $large_image_location, 80);

如果要將其轉換為JPEG,此函數將執行此工作,然后刪除PNG:

function png2jpg($originalFile, $outputFile, $quality) {
    $image = imagecreatefrompng($originalFile);
    imagejpeg($image, $outputFile, $quality);
   // imagedestroy($image);
}

提示:如果要上傳畫布數據,則在發布數據之前將其放入<TEXTAREA>中-我使用了<INPUT>,它會截斷圖像數據,直到更改為<TEXTAREA>。

暫無
暫無

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

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