我試圖在我的 Laravel 應用程式中上傳影像。但有一個錯誤:
array_key_exists():第一個引數應該是字串或整數
我使用enctype:<form method="POST" action="/producto" enctype="multipart/form-data">
這是我的控制器:
public function CrearProducto(Request $data)
{
$data->validate(
[
'nombre_producto'=>'required | min:1 | max:250',
'precio_producto'=>'required | min:1 | max:250',
'stock_producto'=>'required | min:1 | max:250',
'igv_producto'=>'required | min:1 | max:250',
'producto_categoria'=>'required | min:1 | max:250',
'imagen_producto'=>'mimes:jpeg,bmp,png,jpg',
]
);
$producto = new Producto();
$producto->nombre_producto = $data["nombre_producto"];
$producto->precio_producto = $data["precio_producto"];
$producto->stock_producto = $data["stock_producto"];
$producto->igv_producto = $data["igv_producto"];
$producto->producto_categoria = $data["producto_categoria"];
if($data["imagen_producto"==""]){
$producto->imagen_producto = $data["imagen_producto"];
}else{
$imagen = $data["imagen_producto"];
$nombre_img_prod = time()."_".$imagen->getClientOriginalName();
\Storage::disk('public')->put($nombre_img_prod, \File::get($imagen));
$producto->imagen_producto = $nombre_img_prod;
}
//$producto->imagen_producto = "-";
$producto->tipo_afectacion_producto = "-";
$producto->estado_producto = "Activo";
$producto->save();
return redirect()->route('producto');
}
uj5u.com熱心網友回復:
驗證規則不能有空格。嘗試簡化方法并使用 Laravel 框架為您提供的一切。
例子:
public function crearProducto(Request $request)
{
// Validation rules cannot have spaces.
$request->validate([
'nombre_producto' => 'required|min:1|max:250',
'precio_producto' => 'required|min:1|max:250',
'stock_producto' => 'required|min:1|max:250',
'igv_producto' => 'required|min:1|max:250',
'producto_categoria' => 'required|min:1|max:250',
'imagen_producto' => 'nullable|image',
]
);
$producto = new Producto;
$producto->nombre_producto = $request->nombre_producto;
$producto->precio_producto = $request->precio_producto;
$producto->stock_producto = $request->stock_producto;
$producto->igv_producto = $request->igv_producto;
$producto->producto_categoria = $request->producto_categoria;
if ($request->hasFile('imagen_producto')) {
$producto->imagen_producto = $request
->file('imagen_producto')
->store('images', 'public');
}
//$producto->imagen_producto = "-";
$producto->tipo_afectacion_producto = "-";
$producto->estado_producto = "Activo";
$producto->save();
return to_route('producto');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/473023.html
上一篇:如何從url動態獲取名稱
