1

アプリケーションにアップロードがあり、ユーザーは最大ファイルサイズが 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 を配列に追加すると、アップロードが機能します (この問題により、ファイルはターゲット ディレクトリに 2 回コピーされます)

問題を解決する方法を知っている人はいますか?

4

0 に答える 0