Php $request->hasFile()在上载时返回false
在我的Laravel 5.8应用程序中提交请求时,我似乎无法让我的应用程序上载文件。无论我上传什么类型的文件,hasFile总是返回false 类型 dd输出 enctype=多部分/表单数据已包含在我的表单中。 我测试了多个大小约为50-80KB的文件 我正在同一环境中运行另一个Laravel应用程序,没有任何问题。我还测试了将相同的图像上传到该应用程序,没有任何问题。这让我相信这与php.ini的错误配置无关 dd$request->all;返回特征\u img而不是文件对象的字符串名称 使现代化Php $request->hasFile()在上载时返回false,php,laravel,Php,Laravel,在我的Laravel 5.8应用程序中提交请求时,我似乎无法让我的应用程序上载文件。无论我上传什么类型的文件,hasFile总是返回false 类型 dd输出 enctype=多部分/表单数据已包含在我的表单中。 我测试了多个大小约为50-80KB的文件 我正在同一环境中运行另一个Laravel应用程序,没有任何问题。我还测试了将相同的图像上传到该应用程序,没有任何问题。这让我相信这与php.ini的错误配置无关 dd$request->all;返回特征\u img而不是文件对象的字符串名称 使
当我改变我的观点时,我没有意识到我有两个相同路线的动作。愚蠢的我。感谢所有帮助我排除故障的人。我在一次安装中使用 在web.php中
use Illuminate\Http\Request;
Route::get('test', function(){
return view('test');
});
Route::post('test', function(Request $request){
dd($request->hasFile('test'));
})->name('test');
在test.blade.php中
<form action="{{ route('test') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group py-50">
<input type="file" name="test" id="featured_img">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Upload Image" name="submit">
</div>
</form>
$request->hasFile'test'返回true,请检查控制器或路由文件中的此代码,如果您遇到任何问题,请告诉我
也
您应该使用@stack向刀片添加脚本,而不是@section
更新
根据更新的查看页面代码,您的视图中有两个表单发布到同一路线,请检查第一个表单是否已关闭,第二个表单是否已打开。检查并尝试某些情况:
检查php.ini中的最大文件大小上载
检查是否存在enctype=标记中的多部分/表单数据。
标记中的check方法必须使用POST方法,Web.php中的route必须具有POST-route
$request->file'featured_img'返回什么?dd$request->file'featured_img';返回null你能检查一下你在laravel.log文件中得到了什么吗?你能试试这个请求吗->has'featured_img'@PrafullaKumarSahu日志中没有错误删除value属性没有任何区别。hasFile仍然返回false@EricS. 你能添加$request->all并告诉我你现在得到了什么吗?和之前一样数组:7[▼ _token=>sREFSO8bs0rWil05AESVrwEl37XtKOJAF2nCkTNR状态=>published featured_img=>example.jpg submit=>Upload Image]@EricS。我已经更新了我的答案,请检查并让我知道结果。当我创建新的测试刀片并将您的代码添加到我的web.php文件时,您的测试在我的环境中运行
array:7 [▼
"_token" => "sREFSO8bs0rWil05AESVrwEl37XtKOJAF2nCkTNR"
"status" => "published"
"featured_img" => "example.jpg"
"submit" => "Upload Image"
]
use Illuminate\Http\Request;
Route::get('test', function(){
return view('test');
});
Route::post('test', function(Request $request){
dd($request->hasFile('test'));
})->name('test');
<form action="{{ route('test') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group py-50">
<input type="file" name="test" id="featured_img">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Upload Image" name="submit">
</div>
</form>