2016-08-20 59 views
1

我想檢查我想上傳的圖像是否處理了東西,但是當我嘗試使用de Input :: hasFile('upimg')來檢查它時沒有做任何事情。這是我的表格:輸入:: hasFile()不工作

{!! 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) !!} 

如果我沒有錯,它假設給回聲回聲但沒有任何反應。爲什麼這不起作用?我究竟做錯了什麼?

回答

0

要確保你有你的表單定義一個'file' => true選項象下面這樣:

{!! Form::open(['route' => ['uploadimage'], 'file' => true]) !!} 

此選項使您的形式將與HTML表單標籤enctype="multipart/form-data"選項來渲染。請參閱文檔:HTML enctype

您不必將method => 'POST'添加到您的表單定義中,因爲Laravel 5在默認情況下使用POST方法發送表單。

請讓我知道如果這種解決方案不適合你。

爲了檢查服務器端的文件,您可以使用Request對象的方法,例如Laravel的文檔:Files in Laravel