1.html faylında
<head>
<link href="https://unpkg.com/filepond@^4/dist/filepond.css" rel="stylesheet" />
</head>
<body>
<div class='col-12'>
<div class='form-group'>
<input type='file' name='images[]' class='product-image-upload-input' id='productImageUploadInput'
multiple
data-allow-reorder="true"
data-max-file-size="3MB"
data-max-files="5"
/>
<small class='form-text text-muted'></small>
<small class='form-text text-danger' data-error-reporter='sass'></small>
</div>
</div>
</body>
<script src="https://unpkg.com/filepond@^4/dist/filepond.js"></script>
<script>
const productImageUploadInput = document.querySelector('input[id="productImageUploadInput"]');
const pond = FilePond.create(productImageUploadInput);
FilePond.setOptions({
server : {
process: {
url: '{!! route('admin.product.images.upload') !!}',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
},
revert: {
url: '{!! route('admin.product.images.delete') !!}',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
},
}
});
</script>
2. web.php faylında
Route::post('product-images-upload', [ mehsulController::class,'productImagesUpload' ] )->name('admin.product.images.upload');
Route::delete('product-images-delete', [ mehsulController::class,'productImagesDelete' ] )->name('admin.product.images.delete');
3.mehsulController.php faylında
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Intervention\Image\Facades\Image;
class mehsulController extends Controller
{
public function productImagesUpload(Request $request)
{
if ($request->hasFile('images'))
{
$files = $request->file('images');
foreach ($files as $file)
{
if (filesize($file)/(1024*1024) <= 3)
{
$filename = pathinfo( $file->getClientOriginalName(), PATHINFO_FILENAME );
$extention = $file->getClientOriginalExtension();
$new_name = $filename . '-' . time() . '.' . $extention;
$destinationPath = public_path('/product-images');
$img = Image::make($file->path());
$img->resize(518, 484)->save($destinationPath.'/'.$new_name);
}
}
}
}
public function productImagesDelete(Request $request)
{
//
}
}
Digər dildə:
EN