0
嗨有一個課程作品,我需要發送數據到一個PHP後端的遠程MySQL服務器的作品。目前,我在發送和接收圖像時遇到了一些問題。從android發送圖像到遠程MySQL數據庫
我目前正在做的是將圖像編碼爲base64並通過http post發送給我的服務器。我已經檢查了正在發送的數據,並且一切正常。然而它沒有被我的PHP方面正確處理。
下面是我在做什麼...
這是我使用位圖到字符串轉換的方法...
ByteArrayOutputStream baos=new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 90, baos);
byte [] b=baos.toByteArray();
String imageString=Base64.encodeToString(b, Base64.DEFAULT);
我然後在HTTP POST發送此和imagestring和它是由下面的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);
試過這幾次後,甚至沒有文件存儲在該位置。
預先感謝任何幫助:)
你不能從您收到的數據重新創建圖像?或者你可以更多地瞭解這個問題。 –
不,我想我不能從該數據重新創建一個圖像,因爲它沒有在指定的目錄中創建一個圖像文件。我的代碼看起來好嗎? – user1044585
好的,所以我已經創建了一個日誌文件PHP的一面,似乎它不是接收編碼的圖像。它只是獲得NULL,但它肯定會被髮送,因爲我在事物的java方面檢查... – user1044585