0

所以我将一个 Pdf 文件发送到我的网络服务供我上传,它作为 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 时间,因为我被要求这样做。

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

4

1 回答 1

0

解决了,必须在我的 blobtype 上使用 base64_decode($data)。

于 2013-07-31T09:28:28.567 回答