Form should have the attribute enctype="multipart/form-data" to upload files
Apr 11, 2023
5
Level 2
upload image
I am using laravel 10. I am trying upload image. This is my form:
<form method="POST" action="{{ url('addProduct') }}">
{{ csrf_field() }}
<div class="mb-3">
<label for="productName" class="col-form-label">Ürün Adı:</label>
<input type="text" class="form-control" id="productName" name="productName" required>
</div>
<div class="mb-3">
<label for="productInfo" class="col-form-label">Ürün Bilgisi:</label>
<input type="text" class="form-control" id="productInfo" name="productInfo">
</div>
<div class="mb-3">
<label for="productPic" class="col-form-label">Ürün Fotoğrafı:</label><br>
<input type="file" class="form-control-file" id="productPic" name="productPic">
</div>
<div class="mb-3">
<label for="productCategory" class="col-form-label">Ürün Kategorisi:</label>
<select class="form-control" id="productCategory" name="productCategory" required>
<option value="">Seçiniz</option>
@foreach ($categories as $category)
<option value="{{ $category->id }}">{{ $category->name }}</option>
@endforeach
</select>
</div>
<div class="mb-3">
<label for="productIngredients" class="col-form-label">Ürün İçerikleri:</label>
<input type="text" class="form-control" id="productIngredients" name="productIngredients">
<div class="mb-3">
<label for="productPrice" class="col-form-label">Ürün Fiyatı:</label>
<input type="text" class="form-control" id="productPrice" name="productPrice" required>
</div>
<button type="submit" class="btn btn-primary btn-submit">Ürün Ekle</button>
and this is my controller:
public function addProduct(Request $request)
{
$productName = $request->input('productName');
$productInfo = $request->input('productInfo');
$productImage = $request->file('productPic');
$productCategory = $request->input('productCategory');
$productIngredients = $request->input('productIngredients');
$productPrice = (int) $request->input('productPrice');
$imageName = $request->file('productPic')->getClientOriginalName();
$path = $request->file('productPic')->storeAs('public/publicImages', $imageName);
$product = new Products;
$product->name = $productName;
$product->info = $productInfo;
$product->image = $imageName;
$product->category_id = $productCategory;
$product->ingredients = $productIngredients;
$product->price = $productPrice;
$product->is_active = 1;
$product->save();
return redirect('products');
}
This is returning me error. This is the error: Call to a member function getClientOriginalName() on null
Level 2
enctype="multipart/form-data" solution one and second solution is public_path('publicImages')
Please or to participate in this conversation.