【问题标题】:How to upload RAR, CSV, DOC, DOCX, XLS and XLSX files to a Symfony2 application如何将 RAR、CSV、DOC、DOCX、XLS 和 XLSX 文件上传到 Symfony2 应用程序
【发布时间】:2016-12-01 09:11:42
【问题描述】:

我创建了一个属性为file实体,如下所示:

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 文件?
提前谢谢!

【问题讨论】:

  • 你确定你的 RAR 文件有 'application/x-rar-compressed' MIME 类型吗?它也可以是一些已弃用的旧 MIME 类型,例如 'vnd.rar'
  • 也许这可以帮助你:stackoverflow.com/questions/1681424/…
  • 对不起@MarcGiroux,我有不同的问题。还是谢谢你:)

标签: php excel symfony csv file-upload


【解决方案1】:

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

感谢您的宝贵时间!

【讨论】:

    猜你喜欢
    • 2015-05-26
    • 1970-01-01
    • 2021-01-27
    • 2011-07-29
    • 1970-01-01
    • 2016-01-14
    • 2019-07-21
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多