如何在 Laravel 中将文件与“Request”合并?

Chu*_*eng 4 php laravel

我的项目中遇到一个问题,应该将文件与“Request”合并,我只是发现我们可以使用合并功能来合并属性,但是我们如何在laravel中合并文件?非常感谢。

我们可以使用“merge”来合并一些属性

$request->merge([
            'ticket_id' => '123',
        ]);
Run Code Online (Sandbox Code Playgroud)

但是如果我想合并一个文件?(我发现这种方式不可行,我不能不从请求接收文件)

$request->merge([
            'file' => fopen('xxx', 'r'),
        ]);
Run Code Online (Sandbox Code Playgroud)

而且这样的方式也是行不通的。

$request->files = fopen('xxx', '');
Run Code Online (Sandbox Code Playgroud)

小智 8

您需要创建一个新的UploadedFile,然后将该文件添加到请求包中。

$fileAddress = storage_path().'/file.jpg';
$file = new UploadedFile($fileAddress, 'file');
$request->files->set('file', $file);
Run Code Online (Sandbox Code Playgroud)