Wu Mr 2023-10-03 19:25 采纳率: 50%
浏览 5
已结题

SQL中的图片,无法传回php到前端。没有任何报错。

SQL中的图片,无法传回php到前端。没有任何报错。
1.如何使用Ajax将图片通过php传到数据库(sql )
2.sql图片如何回传到php,显示到前端。

  • 写回答

9条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-03 19:27
    关注

    引自强大而免费的微信小程序:皆我百晓生。如有帮助,还望采纳。


    对于您的第一个问题,您可以使用FormData对象来通过Ajax将图片传递到PHP后端。首先,您需要在前端使用JavaScript创建一个FormData对象,并将图片文件添加到该对象中。然后,您可以使用Ajax将FormData对象发送到PHP后端。在PHP后端,您可以使用$_FILES变量来接收上传的图片文件,并将其保存到数据库中。

    以下是一个示例代码:

    // HTML部分
    <input type="file" id="imageFile">
    
    // JavaScript部分
    var fileInput = document.getElementById('imageFile');
    var formData = new FormData();
    formData.append('image', fileInput.files[0]);
    
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'upload.php', true);
    xhr.onload = function() {
      if (xhr.status === 200) {
        // 图片上传成功
        console.log('图片上传成功');
      } else {
        // 图片上传失败
        console.log('图片上传失败');
      }
    };
    xhr.send(formData);
    
    // PHP部分(upload.php)
    <?php
    if ($_FILES['image']['error'] === UPLOAD_ERR_OK) {
      $tmp_name = $_FILES['image']['tmp_name'];
      $name = $_FILES['image']['name'];
      move_uploaded_file($tmp_name, 'uploads/' . $name);
      echo '图片上传成功';
    } else {
      echo '图片上传失败';
    }
    ?>
    

    对于您的第二个问题,如果您已经将图片保存到数据库中,您可以使用PHP将图片从数据库中检索出来,并将其显示到前端。您可以使用以下代码:

    <?php
    // 从数据库中检索图片数据
    $imageData = // 从数据库中获取图片数据
    
    // 设置响应头
    header('Content-Type: image/jpeg');
    
    // 输出图片数据
    echo $imageData;
    ?>
    

    然后,您可以在前端使用标签来显示从PHP后端获取的图片数据:

    <img src="getImage.php">
    

    请注意,上述代码仅为示例,您需要根据您的具体需求进行适当的修改。另外,确保在将图片保存到数据库之前,对图片进行适当的验证和处理,以确保安全性和性能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 创建了问题 10月3日