【问题标题】:PHP Laravel : $request->hasFile() is not workingPHP Laravel:$request->hasFile() 不工作
【发布时间】:2021-04-01 12:49:39
【问题描述】:

我有一个表格,我可以在其中获取标题、内容……和图像。当我 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')) 没有获得该字段。

我做错了什么?

【问题讨论】:

  • 在添加time() 并修改它之前,您能否检查hasFile 条件
  • 谢谢!我错了@NikhilRadadiya

标签: php laravel request laravel-7


【解决方案1】:

在使用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
    ]);
}

【讨论】:

  • @Nikhil_Redadiya 那么“$imagePost”呢?我猜你错过了什么。
猜你喜欢
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 2020-04-10
  • 2016-04-03
  • 2015-03-27
  • 1970-01-01
相关资源
最近更新 更多