php - Laravel 文件上传只需将文件名发送到控制器
问题描述
我正在尝试上传图片。
这是我的html表单:
<form class="form" action="{{ URL::to('/alunos/cadastrar') }}" method="post" enctype=”multipart/form-data”>
<label for="nome" >Nome</label>
<input type="text" name="nome" placeholder="nome"><br><br>
<label for="serie" >Série</label>
<input type="text" name="serie" placeholder="serie"><br><br>
<label for="escola" >Escola</label>
<input type="text" name=escola placeholder="escola"><br><br>
<label for="turno" >Turno</label>
<input type="text" name=turno placeholder="Turno"><br><br>
<label for="documento" >Documento</label>
<input type="text" name=documento placeholder="documento"><br><br>
<label for="residencia" >Reside em</label>
<input type="text" name=residencia placeholder="Reside em"><br><br>
<label for="rota" >Rota</label>
<input type="text" name=rota placeholder="rota"><br><br>
<label for="data_nasc" >Data de Nascimento</label>
<input type="text" name=data_nasc placeholder="Data de Nascimnento"><br><br>
<label for="mae" >Mãe</label>
<input type="text" name=mae placeholder="Mãe"><br><br>
<label for="pai" >Pai</label>
<input type="text" name=pai placeholder="Pai"><br><br>
<label for="photo" >Foto</label>
<input type="file" name="photo" id="photo">
{{ csrf_field() }}
<br>
<input type="submit" value="Registrar!">
</form>
这是控制器方法:
public function submit(Request $request)
{
if ($request->hasFile('photo')) {
echo "OK";
}else{
echo "error";
}
return redirect('/');
}
每次运行时,都会收到错误消息。并且 dd(request()->all()) 给出以下内容。
array:12 [▼
"nome" => null
"serie" => null
"escola" => null
"turno" => null
"documento" => null
"residencia" => null
"rota" => null
"data_nasc" => null
"mae" => null
"pai" => null
"photo" => "23722217_17536056.jpg"
"_token" => "TPYBg3d8f3CdiQQnMbimprb5HQPkxqG5MSLdAUEa"
]
“照片”字段实际上没有文件,只有文件名。
我正在使用 MAMP 的 MacBook Pro 工作。在控制器代码的顶部,我有以下内容:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Quotation;
use Datatables;
use App\aluno;
use View;
use PDF;
use DB;
我怎样才能使这个上传工作?
解决方案
您的代码似乎正确。
唯一可能是你的 enctype 有不同类型的引号。
尝试改变:
enctype=”multipart/form-data”
到
enctype="multipart/form-data"
推荐阅读
- ionic-framework - 如何在 IONIC 4 中删除离子复选框背景和边框颜色?
- javascript - html-javascript追加无效
- android - 在为 RTL 手动设计的旧布局上支持 RTL
- python - 将表单更改为搜索框
- reactjs - React Redux 动态模块加载模块,promise instated of state
- java - 有没有办法制作通用抽象映射器
在 JAVA 中? - javascript - 如何访问函数表达式nodejs中的变量
- angular - 如何为公共静态方法编写 jasmine-karma 测试用例?
- java - JTextArea 和 JScrollBar 交互问题
- python - 如何将对象列表转换为属性列表?