Php OneUploaderBundle(blueimp)-保存文件
我对配置blueimp有问题。当我发送文件时,在jsconsole中单击:开始上载是: POST XXXapp_dev.php//u uploader/gallery/upload 500内部服务器 错误 我用过: 我的档案: services.yml:Php OneUploaderBundle(blueimp)-保存文件,php,symfony,Php,Symfony,我对配置blueimp有问题。当我发送文件时,在jsconsole中单击:开始上载是: POST XXXapp_dev.php//u uploader/gallery/upload 500内部服务器 错误 我用过: 我的档案: services.yml: Cms.upload_listener: class: Cms\AdminBundle\EventListener\UploadListener arguments: [@doctrine] tags:
Cms.upload_listener:
class: Cms\AdminBundle\EventListener\UploadListener
arguments: [@doctrine]
tags:
- { name: kernel.event_listener, event: oneup_uploader.post_upload, method: onUpload }
config.yml:
oneup_uploader:
mappings:
gallery:
frontend: blueimp
storage:
service: ~
type: filesystem
filesystem: ~
directory: web/uploads/gallery
stream_wrapper: ~
sync_buffer_size: 100K
路由.yml
oneup_uploader:
resource: .
type: uploader
~Entity/File.php
/* ... */
/**
* @ORM\Entity
* @ORM\Table(name="file")
*/
class file {
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $filename;
}
~/EventListner/UploadListner.php
class UploadListener
{
protected $manager;
public function __construct(EntityManager $manager)
{
$this->manager = $manager;
}
public function onUpload(PostPersistEvent $event)
{
$file = $event->getFile();
$object = new file();
$object->setFilename($file->getPathName());
$this->manager->persist($object);
$this->manager->flush();
}
}
调试路径:
_上传者上传图库发布任何
/_上传器/图库/上传
服务器上有目录/web/uploads/gallery
我想要实现什么?我需要上传文件到服务器和添加记录到数据库
我认为配置不正确,但在哪里
编辑1:
也许有帮助
信息-获取未调用的侦听器时引发异常
可捕获致命错误:参数1传递给
Cms\AdminBundle\EventListener\UploadListener::\构造必须是
Cms\AdminBundle\EventListener\EntityManager的实例,的实例
条令\Bundle\DoctrineBundle\Registry已给定,已调用
/上的home/cms/public_html/app/cache/dev/appDevDebugProjectContainer.php
第455行和定义的上下文:
{异常:ObjectSymfony\Component\Debug\exception\ContextErrorException}
严重-未捕获的PHP异常
Symfony\Component\HttpFoundation\File\Exception\FileException:无法
要在以下位置创建/uploads/gallery目录:
/home/cms/public_html/vendor/symfony/symfony/src/symfony/Component/HttpFoundation/File/File.php
第134行上下文:
{异常:ObjectSymfony\Component\HttpFoundation\File\exception\FileException}
我创建了上传/图库!CHMOD777。我不明白
编辑2:
以及:
现在已创建,上传文件位于uploads/gallery/。。。
但是
严重-未捕获的PHP异常
Symfony\Component\Debug\Exception\ContextErrorException:可捕获
致命错误:参数1传递给
Cms\AdminBundle\EventListener\UploadListener::onUpload必须是
Oneup\UploaderBundle\Event\PostPersistent的实例,的实例
Oneup\UploaderBundle\Event\postPloadeEvent给定于
/home/cms/public_html/src/cms/AdminBundle/EventListener/UploadListener.php
第17行上下文:
{异常:ObjectSymfony\Component\Debug\exception\ContextErrorException}
返回blueimp内部服务器错误。。。并且不会在实体中添加记录。500错误将通过日志文件或探查器在日志中生成错误。如果你粘贴它,可能会帮助别人回答你的问题。是的,这个错误会帮助你和我们知道它失败的地方,如果你能通过xdebug查看哪一行失败。更新第一篇文章。xdebug?您有错误的事件,应该是event:oneup\u uploader.post\u persist
Cms.upload_listener:
class: Cms\AdminBundle\EventListener\UploadListener
arguments: ["@doctrine.orm.entity_manager"]
tags:
- { name: kernel.event_listener, event: oneup_uploader.post_upload, method: onUpload }
directory: ./uploads/gallery