laravel文件上传

laravel 文件上传方法

第一步:创建本地磁盘

在 config中找到filesystems.php ,里面新增一个uploads磁盘

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

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

        'uploads' => [
            'driver' => 'local',
            'root' => storage_path('app/uploads'),
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

    ],

第二步在控制器中创建方法

public function uploads(Request $request)
    {
        if($request->isMethod('POST')){
            $files = $request->file('carid');
            // 文件是否上传成功
            if($files->isValid()){
                // 原文件名
                $originalName = $files->getClientOriginalName();
                // 扩展名
                $ext = $files->getClientOriginalExtension();
                // 文件类型
                $type = $files->getMimeType();
                // 临时文件绝对路径
                $realPath = $files->getRealPath();
				// 要保存在项目中的文件名
                $filesName = date('Y-m-d-H-i-s'). '-'.uniqid().'.'.$ext;
				// 执行保存至本地磁盘
                $bool = Storage::disk('uploads')->put($filesName,file_get_contents($realPath));
//                var_dump($bool);
                $data = [
                    'code' => $bool?0:1,
                    'msg' => '',
                    'data'=>$bool ? $filesName:'',
                ];

                return response()->json($data);
            }

            exit;
        }
        return view('student.upload');
    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值