将图像保存为Doctrine2.3 blob数据类型

时间:2013-04-18 22:40:58

标签: php doctrine-orm

我有一个类,我试图将图像存储为blob数据类型,使用Doctrine2.3作为orm。

/**
 * @ORM\Column(type="blob")
 */
private $data;

它说here有一个名为blob的学说映射类型,它将SQL BLOB映射到php资源流。当我从类中构建数据库时,一切正常。但是当我尝试将savedImage对象插入数据库时​​,就像这样

$image = new SavedImage();
$data = fread(fopen($_FILES['data']['tmp_name'], 'r'), filesize($_FILES['data']['tmp_name'])); 
$image ->setData($data);
$this->entityManager->persist($image );
$this->entityManager->flush();

我收到以下错误:

json_encode(); Invalid UTF-8 sequence in argument.

我不确定这里出了什么问题,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

在setData($ data);

之前添加此行
$data= mb_check_encoding($data, 'UTF-8') ? $data: utf8_encode($data);

为此,link形成更多细节