我正在開發一個項目,我需要將圖像上傳到數據庫並從數據庫中檢索相同的項目。如何使用java將長blob(圖像)上傳到mysql數據庫並在php中檢索?
我需要使用java從android設備上傳圖像。 以下是我已經實現
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
// Log.d(TAG, String.valueOf(bitmap));
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); //compress to which format you want.
byte[] byte_arr = stream.toByteArray();
image_str = Base64.encodeToString(byte_arr, Base64.DEFAULT);
我插入的字節數組到數據庫中。 這裏是我的PHP代碼檢索相同:
/**
*Get profile_pic*/
public function callmethod($userId){
$stmt = $this->conn->prepare("SELECT profile_pic FROM users WHERE unique_id=?");
$stmt->bind_param('s',$userId);
//$result = mysql_query($query) or die(mysql_error());
//$photo = mysql_fetch_array($result);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($profile_pic);
$stmt->fetch();
//$obj->picture = base64_encode($profile_pic);
//echo $obj;
header("Content-Type: image/jpeg");
echo '<img src="data:image/jpeg;base64,<?php echo base64_encode($profile_pic); ?>" />';
}
,我這裏面臨的問題是,該文件越來越上傳到數據庫,但是當我從數據庫中檢索圖像變量$profile_pic
是空的,因此圖像沒有被顯示。
我需要它能夠在android中使用java檢索圖像。我可以通過編碼json
格式的值檢索嗎?
請讓我知道我做錯了什麼。 TIA
答案是你通過將文件存儲在數據庫中使你的生活不必要地複雜化。它更簡單,更高效(從編碼和存儲/檢索的角度來看)將文件存儲在文件系統上。 – e4c5
請讓我想想做什麼 – silverFoxA