Shiva Acharjee
Shiva Acharjee

Reputation: 193

uploading file Slim 3

This is how I am posting data to my controller via GET

use Slim\Views\Twig as View;

class  place_pub_controller extends BaseController{

function place_pub($request , $response){
     $arr_requests=$request->getParams();
     $id=$arr_requests['prop_id'];
     $file=$arr_requests['my_file']; //output [object file]

Html FORM

<form id="frm_pub"  method="GET" enctype="multipart/form-data">

    <div class="container"></div> 
</form>

 <input type="file"> is placed dynamically within div class="container"

I am unable to get the file. How should i proceed?

Upvotes: 0

Views: 6218

Answers (1)

jmattheis
jmattheis

Reputation: 11125

Slim3 also uses the PSR-7 file so you should use the uploaded files function on the request

function place_pub($request, $response) {
    $files = $request->getUploadedFiles();
    if (empty($files['my_file'])) {
        throw new Exception('No file has been send');
    }
    $myFile = $files['my_file'];
    if ($myFile->getError() === UPLOAD_ERR_OK) {
        $uploadFileName = $myFile->getClientFilename();
        $myFile->moveTo('uploads/' . $uploadFileName);
    }
}

Look at the UploadedFileInterface for more information what functions the file has.

Upvotes: 4

Related Questions