解决方案 »

  1.   

    估计你前面有echo或其他输出影响了,
    在echo($data[2]); 前加一句  ob_clean(); 试试。
      

  2.   

    写了一个完整的例子,可以参考下。
    数据表结构CREATE TABLE `photo` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `type` varchar(100) NOT NULL,
      `photo` mediumblob NOT NULL,
      PRIMARY KEY  (`id`)

    upload_image_todb.php<?php
    $conn=@mysql_connect("数据库ip","帐号","密码")  or die(mysql_error());
    @mysql_select_db('数据库名',$conn) or die(mysql_error());$action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';if($action=='add'){
        $image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
        $type = $_FILES['photo']['type'];
        $sqlstr = "insert into photo(type,photo) values('".$type."','".$image."')";
        @mysql_query($sqlstr) or die(mysql_error());    header('location:upload_image_todb.php');}elseif($action=='show'){    $id = isset($_GET['id'])? intval($_GET['id']) : 0;
        $sqlstr = "select * from photo where id=$id";
        $query = mysql_query($sqlstr) or die(mysql_error());
        $thread = mysql_fetch_assoc($query);
        if($thread){
            header('content-type:'.$thread['type']);
            echo $thread['photo'];
            exit();
        }
    }else{
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <title> upload image to db </title>
     </head> <body>
      <form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data">
      <p>图片:<input type="file" name="photo"></p>
      <p><input type="hidden" name="action" value="add"><input type="submit" name="b1" value="提交"></p>
      </form><?php
        $sqlstr = "select * from photo order by id desc";
        $query = mysql_query($sqlstr) or die(mysql_error());
        $result = array();
        while($thread=mysql_fetch_assoc($query)){
            $result[] = $thread;
        }
        foreach($result as $val){
            echo '<p><img src="upload_image_todb.php?action=show&id='.$val['id'].'&t='.time().'"></p>';
        }
    ?> </body>
    </html>
    <?php
    }
    ?>
      

  3.   

    你这个是 JFIF 格式的图片吧?
    没有几个浏览器能支持的
      

  4.   

    上传了jpg和png的图片,效果也还是一样,加载不出
      

  5.   

    在echo($data[2]); 前加一句  ob_clean(); 试试。這個試過了嗎?
      

  6.   

    可以把文件二進制的base64_encode後的字符串發出來嗎?
    echo base64_encode(file_get_contents('xxx.jpg'));我測試下是不是圖片有問題。