我将 Symfony2 与 Doctrine 2.2.2 和 Oracle 数据库一起使用。我想在 Oracle DB 中将文件另存为 BLOB。我为 Doctrine 编写了一个服装类型以具有 BLOB 类型。它看起来像这样:
class Blob extends Type
{
const BLOB = 'blob';
public function convertToPHPValue($value, AbstractPlatform $platform)
{
return (is_resource($value)) ? stream_get_contents($value) : $value;
}
public function getSqlDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
{
return 'BLOB';
}
public function getBindingType() {
return \PDO::PARAM_LOB;
}
public function getName()
{
return self::BLOB;
}
}
持有该文件的实体如下:
<?php
class Document
{
/**
* @var integer $id
*/
private $id;
/**
* @var file $file
*/
private $file;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set file
*
* @param blob $file
*/
public function setFile($file)
{
$this->file = $file;
}
/**
* Get file
*
* @return blob
*/
public function getFile()
{
return $this->file;
}
}
当我想用我的控制器原则保存文件时,只保存上传文件时将创建的临时文件的路径。