将pdf作为blob插入并显示

时间:2013-07-31 07:44:33

标签: php mysql blob

所以我将一个Pdf文件发送到我的webservice供我上传, 它作为base64Binary类型变量发送给我,

并使用以下脚本上传:

function SaveEIM($parameters)
{
   mysql_query("INSERT INTO tablename (Filename, FileSize, File) 
                VALUES ( '" . $parameters['Filename'] . "', '". $parameters['FileSize'] . "', '" . $parameters['File'] . "' ) ") or die (mysql_error());
}

现在一切都上传了,只有奇怪的是,例如,如果我上传一个370KB的文件,它在数据库中是490KB。 我不知道这是怎么发生的,如果这是正常的?

现在将其保存在我的文件服务器中:

$query = mysql_query("SELECT File FROM tablename WHERE ID = '1' ") or die (mysql_error());
$fetch = mysql_fetch_array($query);
$data = $fetch[0];
file_put_contents("user_123.pdf", $data);

当我打开现在保存在我的文件服务器中的文件时,我收到此错误:“无法打开user_123.pdf,因为不支持此文件类型或因为它已损坏。”

我是Blob类型的新手,我知道在服务器上存储文件有时会更好,但我必须使用Blob次,因为我被要求这样做。

如果有人可以帮助我,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

解决了它,不得不在我的blobtype上使用base64_decode($ data)。