laravel - 在 null 上调用成员函数 getCLientOriginalExtension() 使用 laravel
问题描述
我正在尝试仅更新输入字段文本,但不想在我在按钮上提交时更新图像,不幸的是,我遇到了错误如何解决它,请帮助我,谢谢。
请检查错误https://flareapp.io/share/v5pQ6xmE#F44
控制器
public function updateoffer(Request $request,$id)
{
$offer_name=$request->get('offername');
$image=$request->file('offer_image');
$extension=$image->getCLientOriginalExtension();
Storage::disk('cms')->put($image-
>getFileName().'.'.$extension,File::get($image));
$content = new Offers();
$content->image=$image->getFilename() . '.' . $extension;
$check=Offers::where('id',$id)-
>update(['offer_name'=>$offer_name,'offer_image'=>$content->image]);
return back()->with('success','Successfully Updated',$check);
}
解决方案
您的 HTML 表单中的文件选项似乎是可选的。hasFile
因此,您可以在 Laravel中检查文件是否存在。
<?php
public function updateoffer(Request $request,$id){
$offer_name = $request->get('offername');
if($request->hasFile('offer_image')){
$image = $request->file('offer_image');
$extension = $image->getCLientOriginalExtension();
Storage::disk('cms')->put($image->getFileName().'.'.$extension,File::get($image));
$content = new Offers();
$content->image=$image->getFilename() . '.' . $extension;
$check = Offers::where('id',$id)->update(['offer_name'=>$offer_name,'offer_image'=>$content->image]);
}else{
$check = Offers::where('id',$id)->update(['offer_name'=>$offer_name]);
}
return back()->with('success','Successfully Updated',$check);
}
推荐阅读
- javascript - 如何在javascript中将嵌套数组变成单个数组
- json - 在 Google 社区连接器中加入三个 api 端点
- c - 如何使用 libAV 库(ffmpeg)将 H264 编码数据放入 .mp4 等容器中?
- javascript - 我正在寻找一种简单的方法来删除重复的对象数组
- mongodb - 在 docker 上添加 MongoDB Sink 连接器?
- azure-cosmosdb - 在 Azure CosmosDb PatchItemAsync 中获取“指定的输入之一无效”
- javascript - 如何使标题出现在css中div框的顶部
- python - 搜索时使用 pytube 进行线程化
- mod-rewrite - AEM:资产的 URL 缩短
- javascript - 将书签存储在 chrome 根文件夹之外?