我有一个奇怪的...我添加了一个音频文件,这是请求中的现有文件
$file = $request->file('file')[0];
$request->files->add(['audio' => $file]);
当我dd($request->files->all())
时,我看到新添加的'audio'
元素。但是,当我dd($request->allFiles())
时,我看到原始数组。
我甚至为Illuminate\Http\Request
添加了文件的替换方法,以便在没有运气的情况下替换$files
。
public function replaceFiles($files) {
$this->files = $files;
}
我错过了什么吗?
好像$request->files
中的$this->files
和$request
是两个不同的东西。
注意到问题出在$this->convertedFiles
Illuminate\Http\Request
,可以通过将allFiles()
更改为与
/**
* Get an array of all of the files on the request.
*
* @return array
*/
public function allFiles()
{
$files = $this->files->all();
return $this->convertedFiles && count($this->convertedFiles) == count($this->files->all())
? $this->convertedFiles
: $this->convertedFiles = $this->convertUploadedFiles($files);
}
我决定延长App\Http\Requests\Request
并使用我上面提到的调整allFiles()
答案 0 :(得分:0)
您可以使用合并功能将新数据添加到请求对象中。
$request->merge(['index_name' => $variable]);