我正在處理一個將數據庫中的文件存儲到中等blob字段的ac#項目,數據存儲正常,並且在MySQL Workbench每行中查看它時在文件中顯示在數據庫中的它自己的行,即相同的格式。使用C#在數據庫中存儲文件並從PHP中檢索
但是,當我從PHP檢索信息時,似乎刪除了新行,並且所有內容都在同一行上。
下面是我用來將文件存儲在數據庫中的代碼。
using (ConnectDb db = new ConnectDb(appSettings))
{
FileStream fileStream = new FileStream(logFile, FileMode.Open, FileAccess.Read);
long fileLength = fileStream.Length;
byte[] myData = new byte[fileLength];
fileStream.Read(myData, 0, System.Convert.ToInt32(fileLength));
fileStream.Close();
string fileSize = Common.convertBytesToMb(fileLength);
string query = "INSERT INTO logfile_history (LogFile, FileSize) VALUES (@file, @size)";
using (MySqlCommand cmd = new MySqlCommand(query, db.conn))
{
cmd.Parameters.AddWithValue("@file", myData);
cmd.Parameters.AddWithValue("@size", fileSize);
cmd.ExecuteNonQuery();
}
}
當我從PHP文件的新行被刪除,下面是我使用得到從PHP數據庫從介質的Blob數據的代碼。
$query = "SELECT * FROM logfile_history WHERE id='$id'";
$result = mysql_query($query);
if ($result)
{
echo "<table class=\"overview\">";
echo "<tr>";
echo "<th>Date</th>";
echo "<th>Class/Method</th>";
echo "<th>Message</th>";
echo "</tr>";
while ($myrow = mysql_fetch_array($result))
{
$logContent = $myrow['LogFile'];
$splitContent = explode("\t", $logContent);
$i = 0;
$colCount = 0;
while ($i < count($splitContent))
{
if ($colCount == 0)
{
echo "<tr>";
}
echo "<td>" . $splitContent[$i] . "</td>";
if ($colCount == 2)
{
echo "</tr>";
$colCount = 0;
}
$i++;
$colCount++;
}
}
echo "</table>";
我分割線在日誌文件是製表符分隔,所以我用的標籤拆分它把它放在一個表,但是這是我才意識到一切都在同一條線上。
從數據庫中檢索數據時,如何保持換行。
感謝您提供的任何幫助。
感謝您的幫助,使用\ n新行和HTML不承認它,因爲它需要
完全忘記了文件 – Boardy 2012-08-16 19:30:21