0

나는 mediabundle과 함께 작동하는 이미지 업 로더를 가지고 있지만 fileupload가 작동하지 않는 것처럼 보입니다. 내가 올바른 관리자 역할을 가지고 100 % 확신Sonata media bundle - pdf 업로드가 ROLE 오류를 표시합니다.

The media can be retrieved by users with the following roles : ROLE_SUPER_ADMIN, ROLE_ADMIN. 

:

은 내가 PDF 파일을 업로드하려고, 다음과 같은 오류가 발생했습니다.
String(83) "Field "width" of class "Application\Sonata\MediaBundle\PHPCR\Media" is not nullable" 

내가 내 config.yml이해야한다고 생각 다음 /sonata-project/doctrine-phpcr-admin-bundle/Model/ModelManager.php 기능을 만드는 것이 내가 찾은 코드에 깊은 검색, 오류을 삭제 한 후 괜찮습니다 :

providers: 
    file: 
     service: sonata.media.provider.file 
     resizer: false 
     filesystem: sonata.media.filesystem.local 
     thumbnail: sonata.media.thumbnail.format 
     allowed_extensions: ['pdf', 'txt', 'rtf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pttx', 'odt', 'odg', 'odp', 'ods', 'odc', 'odf', 'odb', 'csv', 'xml'] 
     allowed_mime_types: ['application/pdf', 'application/x-pdf', 'application/rtf', 'text/html', 'text/rtf', 'text/plain'] 


    image: 
     filesystem: sonata.media.filesystem.s3 
     allowed_extensions: ['jpg', 'png', 'jpeg', 'gif'] 
     allowed_mime_types: ['image/pjpeg', 'image/jpeg', 'image/png', 'image/x-png', 'image/gif'] 
     resizer: sonata.media.resizer.custom 

위의 구성을 볼 수 있으므로 로컬로 추가하려고 시도했지만 여전히 작동하지 않았습니다. Neuther on the sonata.media.filesystem.s3 누락 된 기본 pdf 템플릿 이미지로 인해 문제가 발생할 수 있습니까? 또는 전에 비슷한 문제가 있습니까?

답변

0

리사이 저 예상 너비와 높이. pdf에 resizer가 필요하지 않은 경우에도 Application \ Sonata \ MediaBundle \ PHPCR \ Media 클래스에 있어야합니다.

<?php 
namespace Application\Sonata\MediaBundle\PHPCR; 
use Sonata\MediaBundle\PHPCR\BaseMedia as BaseMedia; 
/** 
* Media class 
* 
* @see https://sonata-project.org/bundles/easy-extends 
* @see http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/index.html 
*/ 
class Media extends BaseMedia 
{ 
    /** 
    * @var integer 
    */ 
    protected $id; 
    /** 
    * @var integer 
    */ 
    protected $width = 0; 
    /** 
    * @var integer 
    */ 
    protected $height = 0; 
    /** 
    * Get ID 
    * 
    * @return integer $id 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 
}