2013-07-31 71 views
0

所以我得到一个PDF文件发送到我的web服务为我要上传, 它发送给我的base64Binary的类型变量,插入PDF作为blob和显示

,并使用下面的脚本上传时间:

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时间,因为我被要求这样做。

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

回答

0

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