我正在尝试从二进制大对象(Blob)向图像文件写入内容。
if($_POST['logoFilename'] != 'undefined'){
$logoFile = fopen($_POST['logoFilename'], 'w') or die ("Cannot create ".$_POST['logoFilename']);
fwrite($logoFile, $_POST['logoImage']);
fclose($logoFile);
}
在前面的代码片段中,
$_POST['logoImage']
是一个BLOB。该文件被正确地写入到根目录,但是该文件无法打开。在ubuntu 11.04上,我收到以下错误信息:Error interpreting JPEG image file (Not a JPEG file: starts with 0x64 0x61).
如果我创建一个img并将其src设置为blob,BLOB会正确显示。
以下是第一个BLOB代码片段:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQ
$_POST['logoImage']
怎么会是 BLOB 类型的?如果是通过 POST 上传的,文件应该出现在$_FILES
中而不是$_POST
。 - Michael Berkowski