Laravel 文件上传

    /**
     * 文件上传
     */
    public function upload(Request $request){
        $file = $request->file('photo');
        # 修改的时候 使用的是直接上传的方式 拿的是文件的动态名称  所以这里就不验证了
        if(!$file->isValid()){
            return ['ServerNo'=>400,'ResultData'=>'无效的上传文件'];
            exit;
        }

        # 方法1
        // 使用我们新建的uploads本地存储空间(目录)
        //这里的uploads是配置文件的名称  在 config下的filesystems.php 下面配置的指定上传目录
//        $originalName = $file->getClientOriginalName(); # 文件原名
//        $ext = $file->getClientOriginalExtension();     # 扩展名
//        $realPath = $file->getRealPath();               # 临时文件的绝对路径
//        $type = $file->getClientMimeType();             # image/jpeg 图片类型
//        $filename = date('Y-m-d-H-i-s') . '-' . uniqid() . '.' . $ext;
// $bool = Storage::disk('uploads')->put($filename, file_get_contents($realPath)); // if(!$bool){ // return ['ServerNo'=>400,'ResultData'=>'上传文件失败']; // exit; // } // return ['ServerNo'=>200,'ResultData'=>$filename];
# 方法2 //获取原文件的扩展名 $ext = $file->getClientOriginalExtension(); //文件拓展名 //新文件名 $newfile = md5(time().rand(1000,9999)).'.'.$ext; //文件上传的指定路径 $path = public_path('uploads/article'); //将文件从临时目录移动到本地指定目录 if(! $file->move($path,$newfile)){ return ['ServerNo'=>400,'ResultData'=>'保存文件失败'];exit; } return ['ServerNo'=>200,'ResultData'=>$newfile]; }

 

posted @ 2020-10-09 14:09  现世中的素人  阅读(280)  评论(0编辑  收藏  举报