laravel - 无法合并请求输入文件 laravel
问题描述
我希望在验证通过时将 laravel 请求合并为新值,但我无法合并或替换输入文件的输入键值我需要将输入键值更改为生成的唯一值filename
并将其存储在存储中
这是我的代码:
public function store(Request $request)
{
if ($request->hasFile('photo')) {
$photo = $request->file('photo');
$filename = sha1(uniqid()) . '.' . $photo->getClientOriginalExtension();
Storage::disk('photo')->put($filename, $photo->get());
$request->merge([
'photo' => $filename,
]);
}
return $request->all();
}
预期结果:
[
'id' => '60028942359046444097',
'name' => 'Mio Akiyama',
'photo' => '0c7b34056cb58e812376b84279605129b22646c7.jpg',
]
实际结果:
[
'id' => '60028942359046444097',
'name' => 'Mio Akiyama',
'photo' => [
],
]
解决方案
首先将请求数组分配给一个变量。
$array = $request->all();
然后,您可以操作该数组变量的数据。
$array['photo'] = $filename;
return $array;
推荐阅读
- r - 更改ggplot中的线宽,而不是大小
- javascript - 当我使用 angularjs 材料 $mdDialog.confirm() 时,我无法在新选项卡中打开链接
- python - 如何显示字典中的项目列表?
- google-cloud-platform - 如何从 Godaddy 托管的网站连接 Google Cloud Sql?
- rest - 415 PostMan 中不支持的媒体类型,但 curl 中不支持
- typescript - 使用Spread制作对象类具有抽象方法的对象副本时如何解决错误?
- ios - 链接到在应用程序扩展中使用不安全的 dylib 的警告消息
- c - 在一行中打印十六进制数组的所有元素
- python-3.x - Pygame - 随机生成精灵的问题
- javascript - 用于 Qualtrics 的 Google maps API javascript,深色地图