Input::hasFile() 不工作
Input::hasFile() not working
我正在尝试检查我尝试上传的图像是否得到处理,但是当我尝试使用 de Input::hasFile('upimg') 检查它时,它没有做任何事情.这是我的表格:
{!! Form::open(array('route' => array('uploadimage'), 'method' => 'POST')) !!}
{!! csrf_field() !!}
<div class="form-group">
{!! Form::label('newimg', 'Choose Image to upload:', ['class' => 'control-label']) !!}
{!! Form::file('upimg', null) !!}
</div>
<div class="form-group">
{!! Form::label('directory', 'Choose directory:', ['class' => 'control-label']) !!}
{!! Form::select('newimage', [ '' => 'none'] + $imagesdir , '', ['class' => 'form-control']) !!}
</div>
{!! Form::submit('Upload', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
这是我用来检查文件的代码:
public function doUpload()
{
if (Input::hasFile('upimg')){
echo 'uploaded';
};
}
如您所见,我正在尝试检查:
{!! Form::file('upimg', null) !!}
如果我没记错的话,它应该将回声还给 mi,但什么也没有发生。为什么这不起作用?我做错了什么?
请确保您的表单定义中有一个 'file' => true
选项,如下所示:
{!! Form::open(['route' => ['uploadimage'], 'file' => true]) !!}
此选项导致您的表单将使用 HTML 表单标记中的 enctype="multipart/form-data"
选项呈现。请参阅文档:HTML enctype
您不必在表单定义中添加 method => 'POST'
,因为 Laravel 5 默认使用 POST 方法发送表单。
如果此解决方案不适合您,请告诉我。
要在服务器端检查文件,您可以使用 Laravel 文档中的 Request 对象的方法:Files in Laravel
我正在尝试检查我尝试上传的图像是否得到处理,但是当我尝试使用 de Input::hasFile('upimg') 检查它时,它没有做任何事情.这是我的表格:
{!! Form::open(array('route' => array('uploadimage'), 'method' => 'POST')) !!}
{!! csrf_field() !!}
<div class="form-group">
{!! Form::label('newimg', 'Choose Image to upload:', ['class' => 'control-label']) !!}
{!! Form::file('upimg', null) !!}
</div>
<div class="form-group">
{!! Form::label('directory', 'Choose directory:', ['class' => 'control-label']) !!}
{!! Form::select('newimage', [ '' => 'none'] + $imagesdir , '', ['class' => 'form-control']) !!}
</div>
{!! Form::submit('Upload', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
这是我用来检查文件的代码:
public function doUpload()
{
if (Input::hasFile('upimg')){
echo 'uploaded';
};
}
如您所见,我正在尝试检查:
{!! Form::file('upimg', null) !!}
如果我没记错的话,它应该将回声还给 mi,但什么也没有发生。为什么这不起作用?我做错了什么?
请确保您的表单定义中有一个 'file' => true
选项,如下所示:
{!! Form::open(['route' => ['uploadimage'], 'file' => true]) !!}
此选项导致您的表单将使用 HTML 表单标记中的 enctype="multipart/form-data"
选项呈现。请参阅文档:HTML enctype
您不必在表单定义中添加 method => 'POST'
,因为 Laravel 5 默认使用 POST 方法发送表单。
如果此解决方案不适合您,请告诉我。
要在服务器端检查文件,您可以使用 Laravel 文档中的 Request 对象的方法:Files in Laravel