Php 如何将RAR、CSV、DOC、DOCX、XLS和XLSX文件上载到Symfony2应用程序

Php 如何将RAR、CSV、DOC、DOCX、XLS和XLSX文件上载到Symfony2应用程序,php,excel,symfony,csv,file-upload,Php,Excel,Symfony,Csv,File Upload,我用atribute文件创建了一个实体,如下所示: 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

我用atribute
文件创建了一个实体,如下所示:

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);
}
这是我的表格

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文件的MIME类型。我发现我的RAR文件是“application/x-RAR”


谢谢你抽出时间

我解决了自己的问题;正如@Alsatian所说,我的RAR不是“应用程序/x-RAR-compressed”。 我用它来检查我的RAR文件的MIME类型。我发现我的RAR文件是“application/x-RAR”


谢谢你抽出时间

您确定RAR文件具有“application/x-RAR-compressed”MIME类型吗?它也可能是一些不推荐使用的旧MIME类型,如“vnd.rar”,也许这可以帮助您:抱歉@MarcGiroux,我有不同的问题。谢谢:)您确定RAR文件具有“application/x-RAR-compressed”MIME类型吗?它也可能是一些不推荐使用的旧MIME类型,如“vnd.rar”,也许这可以帮助您:抱歉@MarcGiroux,我有不同的问题。无论如何,谢谢你:)