2017-02-04 8 views
1

При загрузке файла я вдруг получаю следующее сообщение об ошибке:Неопределенный метод, когда не загружая файл в Слим Framework

Call to undefined method Slim\Http\UploadedFile::getMediaType() 

Строка кода в вопросе:

$uploaded_file['file']->getMediaType() 

Как ни странно, ничего изменился в моем коде. И файл существует. Фактически, когда я проверяю $uploaded_file['file'], я вижу, что это экземпляр Slim \ Http \ UploadedFile.

Вот трассировки стека:

#0 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Array) 
#1 /var/www/app/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(41): call_user_func(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array) 
#2 /var/www/app/vendor/slim/slim/Slim/Route.php(344): Slim\Handlers\Strategies\RequestResponse->__invoke(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array) 
#3 /var/www/app/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(116): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#4 /var/www/app/vendor/slim/slim/Slim/Route.php(316): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#5 /var/www/app/vendor/slim/slim/Slim/App.php(438): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#6 /var/www/app/index.php(2759): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#7 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) 
#8 /var/www/app/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array(Object(Closure), Array) 
#9 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) 
#10 /var/www/app/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(67): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) 
#11 /var/www/app/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(116): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#12 /var/www/app/vendor/slim/slim/Slim/App.php(332): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#13 /var/www/app/vendor/slim/slim/Slim/App.php(293): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response)) 
#14 /var/www/app/index.php(2765): Slim\App->run() 
#15 {main} 
+1

вы имели в виду getClientMediaType()? https://github.com/slimphp/Slim-Http/blob/master/src/UploadedFile.php#L313 – Pipe

ответ

2

после просмотра в the source code, кажется, что метод, который вы хотите звонить в getClientMediaType() и не getMediaType().

Попробуйте заменить свою линию с

$uploaded_file['file']->getClientMediaType() 

Надеется, что это помогает

+0

* вздох * Спасибо. Иногда я удивляюсь, что могу идти пешком впереди другого. ;) –

 Смежные вопросы

  • Нет связанных вопросов^_^