1

私は、base64文字列の形式の画像データがhttpポストリクエストを使用してAndroidデバイスからサーバーに送信されるphpスクリプトを使用して、Androidデバイスからサーバーに画像をアップロードするWebサービスを開発しています。サーバー側では、次のコードを使用して画像データをデコードし、画像をサーバーに保存しています。

$json = file_get_contents('php://input');
$obj = json_decode($json);
$base = $obj->image;
$ext = $obj->extension;
$folderPath = "./logo/";
$fileName = 'logo_'.$time.'.'.$ext;

$binary = bin2hex(base64_decode($base));
$data = pack("H" . strlen($binary), $binary);
$file = fopen($folderPath.$fileName, 'wb');
fwrite($file, $data);
fclose($file);

このコードは画像データをサーバーに保存していますが、画像データは Android アプリケーションによって投稿されたデータと同じではありません。アップロードされたファイルのサイズも元のファイルと一致しません。
Androidアプリケーションから送信された画像データが適切にデコードされ、Androidから送信された画像と同じ画像ファイルに保存されるように、誰でも私を助けることができますか?

4

1 に答える 1