I am using laravel 5.2 and sweetalert. I have a button for upload a file, and when I click the button, there is a sweetalert popup shown to upload the file. But when I submit it, it won't uploaded but no error message.. I tried to print the file but it shows nothing. I use this code too to insert the text type and it worked but not with the file type. Do you know how to read a filetype in sweetalert?
This is the button code:
<button id="uploadfile" data-id="" class="btn btn-success"><i class="fa fa-upload"></i></button>
This below is my sweetalert code
$('button#uploadfile').on('click', function(ID){
var ID = $(this).attr('data-id');
swal({
content: {
element: "input",
attributes: {
placeholder: "Upload the file",
type: "file",
confirmButtonText: 'Upload',
},
},
})
.then((myfile) => {
if (myfile.value === false) return false;
if (myfile.value === "") {
swal.showInputError("You need to upload the file");
return false
}
if (myfile) {
$.ajax({
url: "FileUpload?ID="+ID+ "&file="+myfile,
type: "GET",
success: function (data) {
if (data == 'ok') {
swal("Uploaded", "Your file has been uploaded successfully!", {
icon: "success",
}).then(function () {location.reload();});
}
}
});
}
}
});
And this one is my controller:
public function FileUpload(Request $request)
{
$id = $request['ID'];
$document = Files::where('id', $id)->first();
$destination = 'files';
if(!Storage::exists($destination)){
Storage::makeDirectory($destination);
}
if($request->hasFile('myfile')) {
$file = $request->file('myfile');
$extension = $file->getClientOriginalExtension();
$file_name = $document->id .'_'. date('YmdHis', strtotime(date('Y-m-d H:i:s'))) . '.' . $extension;
$file->move($destination, $file_name );
$document->file = $file_name;
}
$document->save();
$data = 'ok';
return $data;
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire