当我想在 laravel 中使用表单上传文件时,我无法从请求中删除文件值。
这是我的完整代码
if($request->hasFile('image')){
$string_name = str_random(12);
$image = $request->file('image')->move(getcwd().'/image/original',$string_name.'.'.$request->file('image')->getClientOriginalExtension());
$request->request->remove('image');
}
if($request->hasFile('thumbnail')){
$string_name = str_random(12);
$thumbnail = $request->file('thumbnail')->move(getcwd().'/image/thumbnail',$string_name.'.'.$request->file('thumbnail')->getClientOriginalExtension());
}
Portfolio::create($request->all());
Run Code Online (Sandbox Code Playgroud)
但是image或thumbnail文件不要从$request. 这意味着这行代码不起作用:
$request->request->remove('image');
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法,但file没有从请求中删除。
您可以使用on 方法明确提及要保存到模型中的内容,而不是在保存之前image从您的中删除。$request->only([])$request
Portfolio::create($request->only(['title', ...]));
Run Code Online (Sandbox Code Playgroud)
这将允许您准确指定要从$request数据中保存的内容。
您可以反过来操作并使用该->except()方法删除image:
Portfolio::create($request->except('image'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2715 次 |
| 最近记录: |