上传文件 Slim 3

uploading file Slim 3

这就是我通过 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 id="frm_pub"  method="GET" enctype="multipart/form-data">

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

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

我无法获取文件。我该如何进行?

Slim3 也使用 PSR-7 文件,所以你应该在请求中使用上传文件功能

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);
    }
}

查看 UploadedFileInterface 以了解该文件具有哪些功能的更多信息。