我的应用程序中有一个上传文件,用户可以上传最大文件大小为 2MB 的 PDF、PNG、JPG 和 GIF 文件。当我上传更大尺寸为 2MB 的 PDF 时,出现错误File has an incorrect mimetype of '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 添加到我的数组时,上传工作(有问题,文件将被复制到我的目标目录两次)
有人知道我该如何解决这个问题吗?