-1

我正在为我的 phonegap 应用程序使用 mysql 数据库,但 phonegap 不支持 php 语言..

var 输入 = $('#input');

$.ajax({
    url: 'http://localhost/postdetail/photo.php',
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    timeout: 5000,
    success: function(data, status){
        $.each(data, function(i,item){ 
            var photo = '<h1>'+item.name+'</h1>'
            + '<p>'+item.id+'<br>'+
            '<h3>'+item.img+'</h3><br>'+
            '<img  src="'+item.img+'">';
            input.append(photo);



        });
    },

Mysql中的Blob图像不显示..请帮助我

我的 php 脚本

<?php
header('Content-type: application/json');

$server = "localhost:3306";
$username = "root";
$password = "12345";
$database = "photos";

$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);

$sql = "SELECT id, name AS name, img AS img  FROM n ORDER BY name";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());

$records = array();

while($row = mysql_fetch_assoc($result)) {
    $records[] = $row;
}

mysql_close($con);

echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>

谢谢

4

1 回答 1

0

如果您尝试直接嵌入图像,则需要使用data:格式

<img src="data:img/png,base64,<?= $base_64_encoded_image_data ?>" />

或者在您的情况下:base64_encode()在您的 php 脚本中的 blob 上运行,然后在您的 javascript 中执行此操作:

    var photo = '<h1>'+item.name+'</h1>'
    + '<p>'+item.id+'<br>'+
    '<h3>'+item.img+'</h3><br>'+
    '<img  src="data:image/png,base64,'+item.img+'">';
    input.append(photo);

当然,您需要确保 mime 类型匹配;如果您不是专门使用 png,则必须在 ajax 响应中也传递 mime 类型。

于 2012-11-30T00:50:47.523 回答