Subir archivos en Symfony3 es extremadamente fácil. Vamos a ver como subir archivos de forma fácil con Symfony 3.
Primero tenemos que definir un campo de tipo file en nuestro formulario.
$builder ->add('image', FileType::class,array(
"label" => "Imagen:",
"attr" =>array("class" => "form-control")
));
En el controlador cuando el formulario se haya enviado, subiremos el fichero:
// Recogemos el fichero
$file=$form['image']->getData();
// Sacamos la extensión del fichero
$ext=$file->guessExtension();
// Le ponemos un nombre al fichero
$file_name=time().".".$ext;
// Guardamos el fichero en el directorio uploads que estará en el directorio /web del framework
$file->move("uploads", $file_name);
// Establecemos el nombre de fichero en el atributo de la entidad
$miEntidad->setImage($file_name);
Después habrá que llamar al persist y al flush de Doctrine, para volcar la información del formulario, guardada en la entidad, en la base de datos.
En la vista, mostramos el formulario y le decimos el enctype para que pueda enviar ficheros.
{{form_start(form, { 'enctype':"multipart/form-data"})}}
{{form_end(form)}}
Con esto la subida de ficheros ya funcionaría.
Más información:
http://symfony.com/doc/current/cookbook/controller/upload_file.html













