public function upload(Request $request)
{
date_default_timezone_set('Asia/Jakarta');
$user = Auth::user();
$validation = Validator::make($request->all(), [
'file' => 'mimes:jpeg,bmp,png,svg,pdf',
]);
if ($validation->validated()) {
$file = $request->file('file');
$input['filename'] = rand() . '.' . $file->getClientOriginalExtension();
$destinationPath = 'assets/img_po';
$destinationPathpdf = 'assets/pdf_po';
$img = Image::make($file->getRealPath());
$img->resize(400, 400, function ($constraint) {
$constraint->aspectRatio();
})->save($destinationPath . '/' . $input['filename']);
return response()->json([
'message' => 'Upload Anda Tersimpan',
'icon' => 'success',
'name' => $input['filename'],
'status' => '1',
]);
} else {
return response()->json([
'message' => $validation->errors()->all(),
'icon' => 'error',
'status' => '0',
]);
}
}
<——- html form——–>
File PO :
<input type="hidden" class="isi" id="filepo">
<div id="gambar">
<div onclick="$('#uploadpo').click();">
<button class="btn btn-primary">
<span class="tf-icons bx bx-upload"></span> Upload PO
</button>
</div>
<input id="uploadpo" name="file" type="file" style="display:none;" multiple/>
</div>
<————–the javascript————->
$(“#uploadpo”).on(“change”, function() {
$(‘.loading’).attr(‘style’,’display: block’);
var formData = new FormData();
formData.append(‘file’, $(‘#uploadpo’)[0].files[0]);
$.ajax({
url: “{{ route(‘po.upload’) }}”,
method:”GET”,
data: formData,
headers: {
‘X-CSRF-TOKEN’: $(‘meta[name=”csrf-token”]’).attr(‘content’)
},
dataType:’JSON’,
contentType: false,
cache: false,
processData: false,
success:function(data) {
$('.loading').attr('style','display: none');
if(data.status == '1'){
$("#filepo").val(data.name);
$('#gambar').html("<button class='btn btn-success'><span class='tf-icons bx bx-check'></span> PO Sudah Terupload</button>")
swal({
title: "Berhasil!",
text: "Upload Berhasil!",
icon: "success",
buttons: false,
timer: 2000,
});
} else {
swal({
title: "Gagal!",
text: "Pastikan File yang Anda Upload Benar!",
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
});
<————-route————>
Route::get(‘/po/add’, [AppHttpControllersPOController::class, ‘add’])->name(‘po.add’);
Route::get(‘/po/upload’, [AppHttpControllersPOController::class, ‘upload’])->name(‘po.upload’);