【问题标题】:$request->file return null - Laravel$request-> 文件返回 null - Laravel
【发布时间】:2019-08-11 22:05:14
【问题描述】:

我尝试将文件从 PC 上传到我的 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" =&gt; "myimage.jpg"。因此,我想获取该图像名称,但它返回 null 并且该文件图像应该存储在我的应用程序中,而文件名我将存储在数据库中。

【问题讨论】:

  • dd($request->company_profile);它应该有文件名
  • 而不是您手动编写的
    标签,我建议使用 Form Helper Form::open([ 'url'=>action('CompaniesSettingController@update', $edit_info->id), '文件'=>true ]) 。这也会为您的表单添加一个隐藏的 _token

标签: php jquery laravel xampp laravel-blade


【解决方案1】:

删除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-&gt;all()) 以确保它不是针对company_profile 的字符串。

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2022-06-15
    • 2021-08-12
    • 2018-03-08
    相关资源
    最近更新 更多