Проверка загруженного файла в формате Excel только в Laravel 5

Я хочу подтвердить, что пользователь может загружать только лист Excel в форме. Для этого я попробовал mimes:xls,xlsx в правилах, но у меня это не сработало.

А также всякий раз, когда я редактирую данные формы заполнения, он показывает мне только заголовок, но не показывает имя загружаемого файла. он всегда показывает мне, что файл не выбран. Я загрузил скриншот этого.

введите здесь описание изображения

Любая помощь в этом? !!! Спасибо :)

Файл Controller.php

public function store()
   {

      $uploadsheet = Request::all();

       $rules = array(
                     'title'=>'required',
                     'graph_sheet'=>'required|mimes:xls,xlsx'
                     );

       $validator = Validator::make($uploadsheet,$rules);

        if ($validator->fails())
        {
             // $messages = $validator->messages(); 
             return Redirect::to(url('/uploadsheet/create'))->withInput()->withErrors($validator);
        } else {
             $imageName='';
             if(Request::file('graph_sheet')!='') { 
               $imageName = Request::file('graph_sheet')->getClientOriginalName();
               $destinationPath = "upload/sheet/";
               Request::file('graph_sheet')->move($destinationPath, $imageName);
             }  

              Uploadsheet::create(['title' => $uploadsheet['title'],'graph_sheet' => $imageName]);
              return redirect('uploadsheet');
        }

   }

------------------------------ код edituploadsheet.blade.php ------------------

@extends('app')
@section('content')
<?php if(count($errors)!='0') { ?>
  <div class="alert alert-danger">
     <?php foreach($errors->all() as $err) { ?>  
          <?php echo $err;?><br/>        
     <?php } ?>
  </div>
<?php } ?>
    <h1>Update Content</h1>
    {!! Form::model($uploadsheet,['method' => 'PATCH','route'=>['uploadsheet.update',$uploadsheet->id],'files'=>true]) !!}
    <div class="form-group">
        {!! Form::label('Title', 'Title:') !!}
        {!! Form::text('title',null,['class'=>'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::label('Graph Sheet', 'Graph Sheet:') !!}
        {!! Form::file('graph_sheet',null,['class'=>'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::submit('Update', ['class' => 'btn btn-primary']) !!}
    </div>
    {!! Form::close() !!}
@stop

person Rajdip Chauhan    schedule 09.11.2015    source источник
comment
Пожалуйста, поделитесь с нами кодом вашего представления   -  person Saad    schedule 09.11.2015
comment
@Saad: я отредактировал свой код с представлением. Вы можете проверить это.   -  person Rajdip Chauhan    schedule 09.11.2015
comment
Я не вижу видимых проблем, но все же попробуйте {!! Form::file('graph_sheet') !!} вместо {!! Form::file('graph_sheet',null,['class'=>'form-control']) !!}   -  person Saad    schedule 09.11.2015


Ответы (1)


Чтобы правильно отображать поле ввода

<div class="form-group">
{!! Form::labelControl('image','upload_Img',['class'=>'control-label col-md-3'])  !!}

<div class="col-md-4 fileinput fileinput-{{ isset($edit)  ? 'exists': 'new' }}" data-provides="fileinput">
    <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">
        {!! HTML::image(route('image','no-image.png')) !!}
    </div>
    <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">
        @if(isset($edit) && !empty($edit))
        {!! HTML::image($fileinput_preview) !!}
        @endif
    </div>
    <div>
        <span class="btn default btn-file">
            <span class="fileinput-new">
                {{ trans('admin/admin.select_image') }}</span>
            <span class="fileinput-exists">
                {{ trans('admin/admin.change') }}</span>
            {!! Form::file('image', null) !!}
        </span>
        <a href="javascript:;" id class="btn default fileinput-exists" data-dismiss="fileinput">
            {{ trans('admin/admin.remove') }}</a>
    </div>
</div>

This is when no image is uploaded

Это после загрузки изображенияT

person Rohan Jetha    schedule 02.12.2015