laravel - 如何在 Laravel 8 中存储图像
问题描述
public function post(Request $request)
{
$request->validate([
'foto_makanan' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.$request->input('foto_makanan')->extension();
$request->input('foto_makanan')->move(public_path('images'), $imageName);
$food = new Food();
$food->nama_makanan = $request->input('nama_makanan');
$food->foto_makanan = $request->input('foto_makanan');
$food->harga = $request->input('harga');
$food->deskripsi = $request->input('deskripsi');
$food->stok = $request->input('stok');
$food->category_id = $request->input('flexRadioDefault');
$food->slug_food = ucwords(str_replace(" ", "-", $request->input('nama_makanan')));
$food->save();
return redirect()->back()->with('success', 'Successfully Add Products!');
}
我需要将图像上传到 public/images 文件夹,请帮助我,这是我的控制器代码
解决方案
首先,您需要将此属性添加到表单:enctype="multipart/form-data"
以这种方式验证图像:
$validatedData = $request->validate([
'image' => 'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048',
]);
如果要获取图像名称:
$name = $request->file('image')->getClientOriginalName();
并上传到public/images
文件夹:
$path = $request->file('image')->store('public/images');
在$path
变量中将保存图像的路径
推荐阅读
- python - 使用 DateTimeIndex 计算数据框中字符串的出现次数
- tensorflow - tensorflow 急切和命令式自定义层
- prolog - Prolog 在数组/列表中显示结果
- mysql - mysql字符串变成IN子句分割字符串什么的?
- r - RStudio 无法加载 web 文件,但终端中的 R 可以;为什么?
- spring-boot - SpringBoot-Websphere-Java Config-web.xml-resource-ref
- tensorflow - TensorFlow 会话失败,错误未编译为使用 AVX2
- reactjs - Redux 传奇如何阻止动作进一步传播
- python - 在pycharm中调试时,内存会随着日志不断增加
- android - Layerlist drawable 不能很好地拉伸