欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Laravel5.5 文件上传

程序员文章站 2022-05-19 15:50:02
...

一、配置文件

进入/config/filesystems.php,在 disks 添加上传文件配置信息:

'upload' => [
    'driver' => 'local',
    'root' => public_path('upload/'),
],

  效果如下: 

  Laravel5.5 文件上传

二、模版页面

<div class="mws-form-row">
  {!! Form::label('image','上传头像:',['class'=>'mws-form-label']) !!}
  {!! Form::file('image') !!}
</div>

三、控制器

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

public function store(Request $request)
{
    if ($request->hasFile('image') && $request->file('image')->isValid()) {
        $return $this->uploadFile($image);
    }

    return "没有上传文件";
}


private function uploadFile($image, $id = 0) {
    // 获取上传文件名称
    $originalName = $image->getClientOriginalName();
    // 获取上传文件后缀
    $ext = $image->getClientOriginalExtension();
    // 获取上传文件路径
    $realPath = $image->getRealPath();
    // 获取上传文件的Mime类型
    // $type = $image->getClientMimeType();

    $newFileName = 'adminer/'. date('Ymd') . '/' . md5(microtime()). '.' . $ext;

    if (Storage::disk('upload')->put($newFileName, file_get_contents($realPath))) {
        return '/upload/'. $newFileName;
    }

    return null;
}

四、模版中读取文件

<img src="{{ $image }}" />