我正在使用Laravel + Slim来构建应用程序。
我有一个带文件上传的表单,我成功管理了从文本输入中获取信息:
$request = $app->request;
$title = $request->post('title');
但是如何从文件输入中获取大小,名称,tmp_name等属性?
我发现this问题并尝试过这样但我收到此错误:
致命错误:调用未定义的方法Slim \ Http \ Request :: file()
答案 0 :(得分:5)
使用laravel&#39>上传某些文件时,您可以应用几种方法。 在我的想法中,这是他们中的几个,也是最重要的。
componentDidMount: function () {
// Setup marquee
this.initMarquee();
},
用于检查用户上传文件的 $request->hasFile('file_name')
方法。
hasFile
$request->file('file_name')->isValid()
方法注意检查文件没有错误。
完成这些检查后,您必须获取文件属性并移至所需位置。出于这些目的。
isValid
获取文档信息对象。所以在那之后你可以使用我的laravel FileUploader提供进一步的帮助函数。
$document = $request->file('file_name');
最后移动上传的文件
$document->getRealPath();
$document->getClientOriginalName();
$document->getClientOriginalExtension();
$document->getSize();
$document->getMimeType();
但是如果使用slim上传文件,则必须使用本机php方法(如globals $document->move($destinationPath);
$document->move($destinationPath, $fileName);
数组)来获取文件,使用move_uploaded_file来移动文件,等等。
如果您仍有任何与上传文件或文件验证有关的问题,请与我们联系。