保存到数据库中的图片只有名称,Ajax获取PHP返回只有图片名称,无法获取到图片

将数据存入数据库PHP:
<?PHP
    header("Content-Type: text/html; charset=utf-8");
    include('conn.php');//链接数据库
    //1、设置变量来接收表单提交过来的值
    $article_name = $_POST['art_name'];
    $checkbox = $_POST['checkbox'];
    $content = $_POST['content'];
    $input_name = $_POST['input_name'];
    $input_number = $_POST['input_number'];
    $input_ewm = $_POST['input_ewm'];
    $input_title = $_POST['input_title'];
    $input_describe = $_POST['input_describe'];
    $input_image = $_POST['input_image'];
    //2、将数组转为字符串
    $check_box=implode(',',$checkbox);
    //3、插入到数据库
    $sql="insert into article(id,article_name,check_box,radio_box,content,input_name,input_number,input_ewm,input_title,input_describe,input_image) values(null,'$article_name','".$check_box."','$_POST[radio_box]','$content','$input_name','$input_number','$input_ewm','$input_title','$input_describe','$input_image')";
    $result = mysqli_query($conn,$sql);
    echo $sql;
?>

input_ewm和input_image是图片,我是直接post上传的图片,然后保存到数据库中,存进去的是图片的名称,貌似没有图片,因为我后面ajax取得php的返回值是图片的名称,$("#前端id").attr("src",data[在数组中的序号,从0开始]);输出显示的时候,提示图片:
GET http://ceshi.xxx.com/ceshi.jpg 404 (Not Found)
GET http://ceshi.xxx.com/ceshi2.jpg 404 (Not Found)
其他checkbox和ridaobox都能取到,就是查不到图片,我该怎么修改能够让图片能够被获取到,而不是404找不到图片?

阅读 2.1k
3 个回答
  1. 打开chrome的network检查post接口的数据,发给后端的是图片文件还是图片名称?
  2. 后端接收到图片文件后,是要保存再服务器(或上传到第三方存储服务)的
  3. 存储到数据库的图片地址应该是一个http或https协议的完整地址

上传图片的流程都错误了,图片上传应该将图片保存到网站目录里,然后将图片的文件地址存储到数据库里。
百度“php上传图片”,第一页就有可用的教程。
再说点题外话,见你提了非常多非常基础的问题,给你提个建议:你现在如果是纯自学,建议在网上找一套课程跟着学;如果现在有在学的课程,建议换一套,或者报个班。这样效率更高,另外,善用百度

看看,neetwork有没有加载图片

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题