php - $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 并且该文件图像应该存储在我的应用程序中,而文件名我将存储在数据库中。
解决方案
删除属性后的逗号并添加空格。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 的字符串。
推荐阅读
- java - CodenameOne - 从应用程序捆绑资源中的嵌套文件夹层次结构访问图像
- amazon-web-services - Step Functions 中的可重用状态定义
- spring-boot - spring boot:从外部@Configuration 类禁用@Bean 定义
- gitlab - 如何在 Gitlab 中备份包注册表
- angular - 角服务调用
- google-cloud-functions - 如何处理上传到谷歌云存储中的文件以在云功能中进行验证
- java - 使用 Spring Boot 应用程序生成 .war 文件后无法访问文件和链接
- android - 如何避免因捕获异常而关闭通道(Kotlin/Flow)
- python - 熊猫数据框中的聚合函数无法正常工作
- real-time - 最佳对象检测设置 - 最重要的参数