Zend framework2 PDF与应用程序/八位字节流一起上载

Zend framework2 PDF与应用程序/八位字节流一起上载,zend-framework2,Zend Framework2,我的应用程序中有一个上传,用户可以上传最大文件大小为2MB的PDF、PNG、JPG和GIF文件。 当我上传一个大小为2MB的PDF文件时,我发现错误文件的mimetype“application/octet stream”不正确 在这里,您可以看到我的过滤器和验证器: 'type' => 'Zend\InputFilter\FileInput', 'name' => $name, 'required' => $required, 'filters' => arra

我的应用程序中有一个上传,用户可以上传最大文件大小为2MB的PDF、PNG、JPG和GIF文件。 当我上传一个大小为2MB的PDF文件时,我发现错误
文件的mimetype“application/octet stream”不正确

在这里,您可以看到我的过滤器和验证器:

    'type' => 'Zend\InputFilter\FileInput',
'name' => $name,
'required' => $required,
'filters' => array(
    array(
        'name' => '\Application\Filter\File\RenameUpload',
        'options' => array(
            'target' => 'data/upload',
            'use_upload_name' => true,
            'count_up' => true,
        ),
    ),
),
'validators' => array(
    array('name' => '\Zend\Validator\File\UploadFile'),
    array(
        'name' => '\Zend\Validator\File\Extension',
        'options' => array(
            'extension' => array(
                'pdf',
                'jpg',
                'jpeg',
                'png',
                'gif',
            ),
        ),
    ),
    array(
        'name' => 'Zend\Validator\File\Size',
        'options' => array(
            'max' => '2MB',
            'min' => '1KB',
        ),
    ),
    array(
        'name' => '\Zend\Validator\File\MimeType',
        'options' => array(
            'mimeType' => array(
                'application/pdf',
                'image/jpg',
                'image/jpeg',
                'image/png',
                'image/gif',
            ),
        ),
    ),
),
RenameUpload
是一个自己的过滤器,它检查同名文件是否已经存在,并通过添加带数字的下划线对其进行重命名

当我将'application/octet stream'MimeType添加到我的数组时,上传工作正常(如果出现问题,文件将被复制两次到我的目标目录)


有人知道如何解决这个问题吗?

您使用的是什么web服务器?您可以更改web服务器/apache设置,将pdf作为application/pdf提供给您谢谢您的回答。服务器(apache)具有正确的配置。但是您的提示让我想到了解决方案:jQuery上传程序将文件分为多个部分,因此文件大小验证器没有抛出错误,它破坏了mime类型。