我正在尝试通过Laravel 5.5中的HTML表单上传图像.我已经包含了enctype =“multipart / form-data”属性,但仍然没有任何反应.
表格代码:
<form method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<label for="m_photo" class="col-md-4 control-label">Main photo</label>
<div class="col-md-6">
<input id="m_photo" type="file" class="form-control-file space" name="m_photo" required>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
Route::post('smartphones/entry', 'HomeController@s_submit')->name('s_submit');
控制器代码:
public function s_submit() {
if (Input::hasFile('m_photo')) {
// doing something
}
else {
echo 'nothing happened';
}
}
当我提交表格时,“没有发生任何事情”得到了回应.
有趣的是,当我这样做时:
public function s_submit(Request $request) {
$input = Input::all();
dd($input);
}
我知道了:
array:1 [
"m_photo" => UploadedFile {#210 ▶}
]
这就像图像越过了,但我无法检索它.请帮忙.
解决方法:
当PHP max_file_size未设置为允许发送您尝试上载的文件的大小时,可能会发生这种情况.这会导致hasFile返回false,例如,当file-> getClientOriginalName()工作时.
尝试检查PHP.ini中的upload_max_filesize或post_max_size,或尝试使用较小的文件来检查它是否有效.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。