laravel 如何实现图片上传功能

1,在\config\filesystems.php中配置上传文件存储路径:

'uploads' => [
            'driver' => 'local',
            'root' => storage_path('app/uploads'),
            'url' => env('APP_URL').'/storage'
        ],

 

2,路由配置\routes\web.php

Route::any('upload', 'StudentController@upload');

 

3,控制器\app\Http\Controllers\StudentController.php

 1 <?php
 2 namespace App\Http\Controllers;
 3 use Illuminate\Http\Request;
 4 use Illuminate\Support\Facades\Storage;
 5 class StudentController extends Controller
 6 {
 7     public function upload(Request $request){
 8         if($request->isMethod('POST')){
 9             $files=$request->file("file");
10             if($files->isValid()){
11                 $oragnalName=$files->getClientOriginalName();
12                 $ext=$files->getClientOriginalExtension();
13                 $type=$files->getClientMimeType();
14                 $realPath=$files->getRealPath();
15                 $file_new_name=date('Y-m-d-H-i-s').'-'.uniqid().'.'.$ext;
16                 $bool=Storage::disk('uploads')->put($file_new_name,file_get_contents($realPath));
17                 var_dump($bool);exit;
18             }
19         }
20         return view('student/upload');
21     }
22 }

 

 

4,视图:\resources\views\student\upload.blade.php

<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">文件上传</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data">
                        {{ csrf_field() }}
                        <input type="file" id="file" name="file">
                        <div class="form-group">
                            <div class="col-md-8 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    确认上传
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

 

注:laravel中请求输入详见http://www.cnblogs.com/ziyiang/articles/6414608.html

posted on 2017-02-20 22:26  ziyi_ang  阅读(1229)  评论(0编辑  收藏  举报

导航