2

我能够模拟任何大小的文本文件和任何分辨率的图像。

但是对于我的测试,我需要任何分辨率的图像,同时需要任何文件大小(例如:800x600px 和 100 MB)以及其他文件格式,如 PDF。

当我使用LargFileContentmimetype 时变为text/plain.

use org\bovigo\vfs\vfsStream;
use org\bovigo\vfs\content\LargeFileContent;
use Illuminate\Http\UploadedFile

function createImageUploadFile()
{
    $root = vfsStream::setup(
        sys_get_temp_dir()
    );

    $virtualFile = vfsStream::newFile('testFile.jpg')
        ->withContent(LargeFileContent::withMegabytes(100))
        ->at($root);

    // This sets the right mimetype but overwrites the file size
    // imagejpeg(
    //     imagecreate(800, 600),
    //     $virtualFile->url()
    // );

    return new UploadedFile(
        $virtualFile->url(),
        null,
        //mime_content_type($file->url()),
        'image/jpeg', // no impact, remains a text/plain
        null,
        null,
        true
    );
}

如何生成任何大小的任何类型的文件(mimetype)和任何尺寸和文件大小的图像(png、jpg)?

4

0 回答 0