我是新来Symfony.I正在努力学习中Symfony.I文件上传我得到以下错误:获得FileLoaderLoadException symfony的
(3/3)FileLoaderLoadException 文件“d:\ WAMP \ WWW \ symfony_project \ app/config \ services.yml“不包含D:\ wamp \ www \ symfony_project \ app/config \ services.yml中的有效YAML(正在从D:\ wamp \ www \ symfony_project \ app导入/config\config.yml“)。
config.yml
parameters:
brochures_directory: '%kernel.symfony_project%/../web/uploads/brochures'
services.yml
# Learn more about services, parameters and containers at
# https://symfony.com/doc/current/service_container.html
parameters:
#parameter_name: value
services:
# default configuration for services in *this* file
_defaults:
# automatically injects dependencies in your services
autowire: true
# automatically registers your services as commands, event subscribers, etc.
autoconfigure: true
# this means you cannot fetch services directly from the container via $container->get()
# if you need to do this, you can override this setting on individual services
public: false
# makes classes in src/AppBundle available to be used as services
# this creates a service per class whose id is the fully-qualified class name
AppBundle\:
resource: '../../src/AppBundle/*'
# you can exclude directories or files
# but if a service is unused, it's removed anyway
exclude: '../../src/AppBundle/{Entity,Repository,Tests}'
# controllers are imported separately to make sure they're public
# and have a tag that allows actions to type-hint services
AppBundle\Controller\:
resource: '../../src/AppBundle/Controller'
public: true
tags: ['controller.service_arguments']
# add more services, or override services that need manual wiring
# AppBundle\Service\ExampleService:
# arguments:
# $someArgument: 'some_value'
admin.category:
class: AppBundle\Admin\CategoryAdmin
arguments: [~, AppBundle\Entity\Category, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: Category }
public: true
admin.blog_post:
class: AppBundle\Admin\BlogPostAdmin
arguments: [~, AppBundle\Entity\BlogPost, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: Blog post }
public: true
AppBundle\Service\FileUploader:
arguments:
targetDir: '%brochures_directory%'
FileUploader.php
namespace AppBundle\Service;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class FileUploader
{
private $targetDir;
public function __construct($targetDir)
{
$this->targetDir = $targetDir;
}
public function upload(UploadedFile $file)
{
$fileName = md5(uniqid()).'.'.$file->guessExtension();
$file->move($this->getTargetDir(), $fileName);
return $fileName;
}
public function getTargetDir()
{
return $this->targetDir;
}
}
你能告诉你的'FileUploader'类? –
您必须用四个空格缩进brochures_directory参数。但无论如何,如上所述,如果您发布整个文件,那么效果会更好。 – Carlos
@Carlos和Imanali我发布了它 – Swati