C# 阅读php中的SQLite blob,用c编写

C# 阅读php中的SQLite blob,用c编写,c#,php,sqlite,C#,Php,Sqlite,我用c在SQlite db中编写了一个图像blob,并尝试用PHP进行读取,但我遇到了一些问题 PHP不显示图像 <?php //header('Content-Type:image/jpeg;base64'); $id = $_GET['id']; $dbFile = realpath('./').'/includi.db' ; ob_end_flush(); $dbLink=sqlite3_open($dbFile) or die("Could not open database

我用c在SQlite db中编写了一个图像blob,并尝试用PHP进行读取,但我遇到了一些问题

PHP不显示图像

<?php 
//header('Content-Type:image/jpeg;base64');
$id = $_GET['id'];
$dbFile = realpath('./').'/includi.db' ;
ob_end_flush();
$dbLink=sqlite3_open($dbFile) or   die("Could not open database");
$query = "SELECT image FROM utentiLite WHERE user_name='$id'";
$result = sqlite3_query($dbLink, $query);
while($row = sqlite3_fetch_array($result)) { 
    file_put_contents($id.".jpg",$row['image']);
    echo "<img src='".$id.".jpg'> <br/>";
}
?>
如果我将文件写入磁盘,则图像已损坏

string queryInsertAnagraficaSqlLite = @"INSERT INTO utentiLite (user_name,first_name,last_name,SQL_iscrizione_num,SQL_iscrizione_prov,SQL_bcode,SQL_codice_fiscale,image,conferma) VALUES
(@username,@nome,@cognome,@numIscrizione,@provIscrizione,@barCode,@codiceFiscale,@Foto,@conferma)";

SQLiteCommand cmdInsertAnagrafica = new SQLiteCommand(queryInsertAnagraficaSqlLite, conn);
cmdInsertAnagrafica.Parameters.AddWithValue("@username", username);
cmdInsertAnagrafica.Parameters.AddWithValue("@nome", nome);
cmdInsertAnagrafica.Parameters.AddWithValue("@cognome", cognome);
cmdInsertAnagrafica.Parameters.AddWithValue("@numIscrizione", Iscrizione);
cmdInsertAnagrafica.Parameters.AddWithValue("@provIscrizione", provIscrizione);
cmdInsertAnagrafica.Parameters.AddWithValue("@barCode", barCode);
cmdInsertAnagrafica.Parameters.AddWithValue("@codiceFiscale", codiceFiscale);
cmdInsertAnagrafica.Parameters.AddWithValue("@conferma", conferma);
cmdInsertAnagrafica.Parameters.AddWithValue("@Foto", image); 
图像是一个字节数组

这是读取图像的PHP代码

<?php 
//header('Content-Type:image/jpeg;base64');
$id = $_GET['id'];
$dbFile = realpath('./').'/includi.db' ;
ob_end_flush();
$dbLink=sqlite3_open($dbFile) or   die("Could not open database");
$query = "SELECT image FROM utentiLite WHERE user_name='$id'";
$result = sqlite3_query($dbLink, $query);
while($row = sqlite3_fetch_array($result)) { 
    file_put_contents($id.".jpg",$row['image']);
    echo "<img src='".$id.".jpg'> <br/>";
}
?>

数组的大小是否正确或大小是否也已损坏?C语言中的图像是什么类型的?使用sqlite查看器查看文件,并查看其中实际存储了什么类型的信息-它将允许您找出它是存储错误还是检索失败。