Laravel 5.4扩展/覆盖\ Symfony \ Component \ HttpFoundation \ File \ File类

时间:2017-07-11 13:19:21

标签: php laravel laravel-5 laravel-5.4

我想改变\Symfony\Component\HttpFoundation\File\File::getMimeType方法的行为。因此,我想扩展/覆盖\Symfony\Component\HttpFoundation\File\File类。我怎样才能做到这一点?

更新

这是我用来验证文件的方法:

    public function meetsRequirements( UploadedFile $file ): bool {
        if ($file->getClientMimeType() === 'application/octet-stream') {

        }

        $validator = \Validator::make( [
            'file' => $file
        ], [
            'file' => 'required|mimes:jpg,jpeg,png,tiff,psd,ai,eps,pdf'
        ] );

        if (
            $validator->fails() ||
            ! $this->hasMinimumDimensions( $file ) ||
            ! $this->hasMinimumDpi( $file )
        ) {
            return false;
        }

        return true;
    }

使用application/octet-stream方法时,eps扩展名会以某种方式转换为getMimeType mimetype(自validator->fails()返回true后,验证程序可能会使用该方法)。 dd($file)显示mimetype application/postscript。所以我想编辑getMimeType方法,以便返回原始的mimetype而不是application/octet-stream

0 个答案:

没有答案