首页 > 解决方案 > $request-> 文件返回 null - Laravel

问题描述

我试图将文件从电脑上传到我的 Laravel 应用程序并存储到XAMPP服务器。不幸的是,每次我想使用$request->file它检查文件扩展名时,总是返回 null。

但是当我尝试调试时,我看到了我从系统上传的文件图像名称。

这是来自前端的代码:

<form action="{{action('CompaniesSettingController@update', $edit_info->id)}}" method="post",enctype="multipart/form-data">

<div class="p-image">
    <i class="fa fa-camera upload-button"></i>
    <input class="file-upload" name="company_profile" type="file" id="" accept="image/*"/>
</div>

这里控制器代码:

dd($request->all());  
$filenameWithExt = $request->file('company_profile')->getClientOriginalName();

这是我从中得到的dd

array:12 [▼

  "company_profile" => "myimage.jpg"
  "name" => "App Name"
  "email" => "myapp@gmail.com"
  "phone_number" => "12345678"
  "company_overview" => "dfsa"
  "mission" => "dfs"
  "working_evn" => "fgsd"
  "company_ach" => "dfsgdfs"
  "facebook" => "dfsg"
  "linkedin" => "dsf"
  "website" => "sdfsfdg"
 ]

如您所见,我使用命名上传的文件"company_profile" => "myimage.jpg"。因此,我想获取该图像名称,但它返回 null 并且该文件图像应该存储在我的应用程序中,而文件名我将存储在数据库中。

标签: phpjquerylaravelxampplaravel-blade

解决方案


删除属性后的逗号并添加空格。method="post"

更改此行:

<form action="{{action('CompaniesSettingController@update', $edit_info->id)}}" method="post",enctype="multipart/form-data">

<form action="{{action('CompaniesSettingController@update', $edit_info->id)}}" method="post" enctype="multipart/form-data">

然后检查dd($request->all())以确保它不是针对 company_profile 的字符串。


推荐阅读