sql >> Databáze >  >> RDS >> Mysql

Jak nahrát dlouhý blob (obrázek) do databáze mysql pomocí javy a načíst v 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);
while ($stmt->fetch()) {
    echo "<img src='data:image/jpeg;base64,".$profile_pic."' />";
}
 //$obj->picture = base64_encode($profile_pic);
//echo $obj;


}

ok zkuste tento kód this.nepotřebujeteheader("Content-Type: image/jpeg"); funkce. toto je chyba ve vašem php kódu. tento kód vytvoří značku img s basc64.

nyní část pro Android.

změňte to v php.

while ($stmt->fetch()) {
    echo "<img src='data:image/jpeg;base64,".$profile_pic."' />";
}

do

while ($stmt->fetch()) {
    echo $profile_pic;
}

a toto by byla vaše část pro Android.

byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(decodedByte);



  1. Srovnávací databáze 101 - část 1

  2. SQL:Přidejte sloupec s přírůstkovým ID do SELECT

  3. Python MySql Insert nefunguje

  4. Transformujte data na časové období v MYSQL ---jak zacházet s mezerami v datech