php - PHP Laravel:$request->hasFile() 不工作
问题描述
我有一个表格,我可以在其中获得标题、内容……和图像。当我 dd($requests->all()); 时,它返回以下正确的内容。
array:10 [▼
"_token" => "HAf1f0m6kH54atYXUSb0UMpXcNdmA3IR46iTwt83"
"title" => null
"imagePost" => Illuminate\Http\UploadedFile {#259 ▼
-test: false
-originalName: "07_ducati_diavel_base.jpg"
-mimeType: "image/jpeg"
-error: 0
}
]
这是我的图像处理代码:
public function create(Request $request)
{
// dd($request->all());
$imagePost = 'IMAGE-POST'.time().$request->file('imagePost')->getClientOriginalName();
if($request->hasFile('imagePost'))
{
// ec
$filee = $request->image;
$fileName = $filee->getClientOriginalName();
$filee->move('uploads/posts',$fileName);
$image = $fileName;
}
$status = $request->input('status');
DB::table('post')->insert([
'image'=> $image
]);
}
但是 img DB 表字段为空。
if($request->hasFile('imagePost'))
没有得到这个领域。
我做错了什么?
解决方案
您正在修改文件对象,然后再使用hasFile()
条件检查它。首先检查是否$request
有文件,然后根据您的使用修改它 ``
public function create(Request $request)
{
// dd($request->all());
if($request->hasFile('imagePost'))
{
$imagePost = 'IMAGE-POST'.time().$request->file('imagePost')->getClientOriginalName();
// ec
$filee = $request->image;
$fileName = $filee->getClientOriginalName();
$filee->move('uploads/posts',$fileName);
$image = $fileName;
}
$status = $request->input('status');
DB::table('post')->insert([
'image'=> $image
]);
}
推荐阅读
- reactjs - React 和 Express 上的 Stripe 测试返回 404,也没有 console.log req.body
- reactjs - 注销时隐藏注销按钮
- node.js - 在 Node.js 上跨平台开发的路径中,我是否应该始终用正斜杠替换反斜杠?
- asp.net - 来自不同目录的 C# ASP.NET Webform 图像源
- python - 自动排除网络故障
- c - 在 C 中打印 Armstrong 数字
- javascript - 仅有条件地包含 console..log 语句并将它们从 javascript 文件的生产分发中删除
- ember.js - Ember 的 Promise 重试包装器
- tumblr - 使用 Infinite Scroll 使 Tumblr Like 按钮可点击(Dave DeSandro 的 v3)
- c++ - 通过程序连接 MySQL 安全吗?