如何将RAR,CSV,DOC,DOCX,XLS和XLSXfile upload到Symfony2应用程序

我用这样的属性file创build了一个实体

 use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\Validator\Constraints as Assert; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity() */ class Archivo { /** * @var File * * @Assert\File( * maxSize = "6M", * mimeTypes = {"application/pdf", "application/x-pdf", * "application/x-rar-compressed","application/octet-stream", "application/zip"}, * maxSizeMessage = "Symfony: File too big!", * mimeTypesMessage = "Symfony: Invalid file type!" * ) */ protected $file; } 

我用这个方法来存储文件:

 public function upload($file, $path) { if (null === $file) { return; } $name = $file->getClientOriginalName(); $file->move( $path, $name ); unset($file); } 

这是我的forms

 class ArchivoType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('file', 'file') ; } /** * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'SisEvo\UploadBundle\Entity\Archivo' )); } 

}

当我用RAR文件提交表单时,警告Symfony: Invalid file type! 被显示。 我如何让上传RAR,CSV,DOC,DOCX,XLS和XLSX文件?
先谢谢你!

我解决了我自己的问题。 正如@Alsatian所说,我的RAR不是“应用程序/ x-rar-compressed”。 我用这个网站来检查我的RAR文件的MIMEtypes。 我发现我的RAR文件是“application / x-rar”。

感谢您的时间!