2016-08-21 5 views
1

양식에 여러 파일을 업로드하려고했지만 나에게 맞는 솔루션을 찾을 수 없습니다. 입력에 여러 파일을 추가 할 때마다 해당 파일 중 하나만 컨트롤러에 전달되어 업로드됩니다. 나는 그것이 내가 빈 결과없이 파일 업로드를 얻을 루프를 foreach 문을 시도 할 때마다 Controller.phpSymfony 3 양식 다중 파일 업로드 문제

 // File uploading 
     $files = $auto->getImages(); 
     $images = array(); 

     if($files != null) { 
      $key = 0; 

      foreach ($files as $file) 
      { 
       $fileName = md5(uniqid()) . '.' . $file->guessExtension(); 
       $file->move(
        $this->getParameter('car_adds'), 
        $fileName 
       ); 
       $images[$key++] = $fileName; 
      } 
      $auto->setImages($images); 
     } 

$auto->getImages()

는 나에게 문자열 값 대신 배열 값을 제공, 그에.

내 이미지 형태로 위젯의 이름을 바꾸는 시도

에 "양식 [이미지] []"대신에 "양식 [영상]"나는 다음과 같은 오류 얻을 그렇게 그러나 formbuilder에 의해 생성된다 : enter image description here

을 FormType.php

  ->add('images', FileType::class, array(
      'label' => false, 
      'data_class' => null, 
      'label_attr' => array('class' => $label_offset), 
      'required' => false, 
      'attr' => array(
       'class' => $styles, 
       'multiple' => true))) 

Entity.php이 내가 내가 있으리라 믿고있어에게 솜이 있어야 심포니 3 구축을 위해 노력하고있어 내 첫 번째 프로젝트

/** 
* @var array 
* 
* @Assert\Image(
*  mimeTypes = { 
* "image/png", 
* "image/pjpeg", 
* "image/jpeg", 
* "image/gif" 
* }, 
*  mimeTypesMessage="Failas yra netinkamo formato", 
*  maxSize = "10M", 
*  maxSizeMessage="Failas yra per didelis" 
*) 
* @ORM\Column(name="images", type="array", nullable=true) 
*/ 
private $images; 

/** 
* Set images 
* 
* @param array $images 
* 
* @return Auto 
*/ 
public function setImages($images) 
{ 
    $this->images = $images; 

    return $this; 
} 

/** 
* Get images 
* 
* @return array 
*/ 
public function getImages() 
{ 
    return $this->images; 
} 

입니다

내가 간과했을지도 모르는 무언가.

답변

3

당신은 당신의 FileType 필드 옵션에 multiple을 추가해야합니다 :

->add('images', FileType::class, array(
     'multiple' => true, // here it is 
     'label' => false, 
     ... 
+0

와우 아, 정말 바보 LMAO했다. 고마워요! –