mardi 20 octobre 2020

How do you read the type file of input using sweetalerts in laravel 5?

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