php - $request->hasFile() 上传时返回 false
问题描述
在我的 Laravel 5.8 应用程序中提交请求时,我似乎无法让我的应用程序上传文件。无论我上传什么类型的文件,hasFile()
总是返回false
.
形式
<form action="{{ route('items.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group py-50">
<input type="file" name="featured_img" value="featured_img" id="featured_img">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Upload Image" name="submit">
</div>
</form>
控制器
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//Check if image has been uploaded
if($request->hasFile('featured_img')){
return "True!";
} else {
return "False!";
}
}
dd() 输出
array:7 [▼
"_token" => "sREFSO8bs0rWil05AESVrwEl37XtKOJAF2nCkTNR"
"status" => "published"
"featured_img" => "example.jpg"
"submit" => "Upload Image"
]
enctype="multipart/form-data"
已包含在我的表格中。- 我测试了多个大小约为 50-80 KB 的文件
- 我在同一环境中运行另一个 Laravel 应用程序,没有任何问题。我还测试了将相同的图像上传到该应用程序而没有任何问题。这使我相信这与错误配置无关
php.ini
dd($request->all());
返回一个字符串名称"featured_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
更新
根据您更新的视图页面代码,您的视图中有两个表单发布到同一路线检查,第一个表单未关闭,第二个表单打开。
推荐阅读
- powerbi - DAX ALLEXCEPT, ALL FUNCTION.. 想要在每一行中显示总体平均值
- c++ - 您如何管理指向在派生类中扩展的基类的指针?
- flutter - Flutter 小部件测试点击 - 不会在指定的小部件上进行测试
- apache-flink - Flink - 在保存点启动期间使用操作员的延迟启动
- sql - PostgreSQL 中的 SqlBulkCopy 有什么合适的替代品吗?
- sapui5 - 未显示 Popover 中的绑定内容
- python - 如何做多元时间序列模型varmax?
- ubuntu - 我在 Ubuntu 中安装 freeswitch 时遇到问题
- c - 如何以逗号作为结束因素的输入?
- excel - Excel - 如果相应列中的值等于另一列中的值,我正在尝试对列中的值求和