如何使用 Laravel & Slim 从 post 请求中获取文件属性
How to get file properties from a post request using Laravel & Slim
我正在使用 Laravel + Slim 构建应用程序。
我有一个带有文件上传的表单,我成功地从文本输入中获取了信息:
$request = $app->request;
$title = $request->post('title');
但是如何从文件输入中获取大小、名称、tmp_name 等属性?
我找到了 问题并尝试这样做,但我得到了这个错误:
致命错误:调用未定义的方法 Slim\Http\Request::file()
当您使用 laravel 上传一些文件时,您可以应用几种方法。
这是他们中的一对,在我看来最重要。
$request->hasFile('file_name')
hasFile
判断用户是否上传文件的方法
$request->file('file_name')->isValid()
isValid
方法注意检查文件没有错误。
完成这些检查后,您必须获取文件属性并移动到所需位置。为了这些目的。
$document = $request->file('file_name');
获取文档信息对象。所以在那之后你可以使用进一步的帮助函数提供我的 laravel FileUploader.
$document->getRealPath();
$document->getClientOriginalName();
$document->getClientOriginalExtension();
$document->getSize();
$document->getMimeType();
最后移动上传的文件
$document->move($destinationPath);
$document->move($destinationPath, $fileName);
更新
但是,如果您使用 slim 上传文件,则必须使用本机 php 方法,例如全局 Files
数组获取文件和 move_uploaded_file 移动文件等。
如果您对上传文件或文件验证仍有任何疑问,请告诉我。
我正在使用 Laravel + Slim 构建应用程序。
我有一个带有文件上传的表单,我成功地从文本输入中获取了信息:
$request = $app->request;
$title = $request->post('title');
但是如何从文件输入中获取大小、名称、tmp_name 等属性?
我找到了
致命错误:调用未定义的方法 Slim\Http\Request::file()
当您使用 laravel 上传一些文件时,您可以应用几种方法。 这是他们中的一对,在我看来最重要。
$request->hasFile('file_name')
hasFile
判断用户是否上传文件的方法
$request->file('file_name')->isValid()
isValid
方法注意检查文件没有错误。
完成这些检查后,您必须获取文件属性并移动到所需位置。为了这些目的。
$document = $request->file('file_name');
获取文档信息对象。所以在那之后你可以使用进一步的帮助函数提供我的 laravel FileUploader.
$document->getRealPath();
$document->getClientOriginalName();
$document->getClientOriginalExtension();
$document->getSize();
$document->getMimeType();
最后移动上传的文件
$document->move($destinationPath);
$document->move($destinationPath, $fileName);
更新
但是,如果您使用 slim 上传文件,则必须使用本机 php 方法,例如全局 Files
数组获取文件和 move_uploaded_file 移动文件等。
如果您对上传文件或文件验证仍有任何疑问,请告诉我。