こんにちは、PHP バックエンドを使用してリモートの MySQL サーバーにデータを送信する必要があるコースワークに取り組んでいます。現在、画像の送受信に問題があります。
私が現在行っているのは、画像をbase64にエンコードし、httpポストを介してサーバーに送信することです。送信されているデータを確認しましたが、すべて問題ありません。ただし、PHP側で正しく処理されていません。
これが私がやっていることです...
これは、ビットマップを文字列に変換するために使用する方法です...
ByteArrayOutputStream baos=new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 90, baos);
byte [] b=baos.toByteArray();
String imageString=Base64.encodeToString(b, Base64.DEFAULT);
次に、この imageString を http 投稿で送信すると、以下の PHP スクリプトによって受信されます
$uploadDIR = '../data/';
if ($_REQUEST['picture']!=null){
$image = base64_decode($_REQUEST['picture']);
$file = $uploadDIR . uniqid().'.jpeg';
file_put_contents($file, $image);
$sql = "
INSERT INTO comments
(image)
VALUES (
'".$file."'
)";
}
executeSQLQuery($sql);
これを数回試した後、ファイルでさえその場所に保存されていません。
助けてくれてありがとう:)