繁体   English   中英

如何使用base64_encode显示来自phpmysql服务器的图像? [PHP + HTML]

[英]How to display images from phpmysql server with base64_encode? [PHP + HTML]

此图像显示了我用来从后端上传图像的产品表,我想在前端页面上显示它。 我意识到我通过后端上传的图片只保存为“48 B”,但是当我通过 MySQL 手动上传时,它保存为“64 KiB”,尽管两者都是同一个文件。

说到显示 48 B Image 文件就不会显示了。

[code1] 这是我用来从后端插入图像的代码。

if(isset($_POST['submit'])){
$pid = mysql_real_escape_string($_POST['productID']);
$productName = mysql_real_escape_string($_POST['productName']);
$productImg = mysql_real_escape_string($_POST['productImg']);

$insert = mysql_query("INSERT INTO products (productID, productName, productImg) VALUES ('$pid', '$productName', '$productImg')");

if($insert)
{
    echo 'Successfully added new record.';
} else {
        echo 'Failed to add new record because '.mysql_error();
       }

} ?>

[code2] 这是我用来从前端显示图像的代码。

while($row = mysql_fetch_array($query)){
    echo '<tr>  

        <td>'.$row['productID'].'</td>
        <td>'.$row['productName'].'</td>
        <td>'. 
                '<img src="data:image/jpg;base64,'.base64_encode($row['productImg']).'" width="auto" height="150" class="img-thumnail"/>'
        .'</td>

我认为问题出在插入代码 [code1] 中,即使所有数据都成功插入。

如果您正在使用<input type="file" />并且您不知道“您不能像普通字符串一样发送文件类型”,请在提交之前检查您在做什么。

请参阅此链接,它可能对您有所帮助:
https://www.codexworld.com/store-retrieve-image-from-database-mysql-php/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM