zoukankan      html  css  js  c++  java
  • laravel单文件、多文件上传的实现方法

    先设置上传文件的路由:

    Route::post('upload/images'['as'=>'uploadImages','uses'=>'UploadController@uploadImages']);  
     Route::post('upload/multiUpload'['as'=>'multiUpload','uses'=>'UploadController@multiUpload']); 
    

      

    再设置uploads磁盘地址,之后储存文件会使用到。config / filesystem : disks

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

      

    最后UploadController定义上传函数(使用Storage的disk方法来访问uploads磁盘,就是前面filesystem文件里设置的)

    putFile方法:管理文件到指定的存储位置,例为自动生成文件名,也可以手动设置 ('20190705', $file,'test.png')

    //上传单张图
    
     public function uploadImages(Request $request)
    
        {
    
            if ($request->isMethod('post')) {
    
                $file = $request->file('file');
    
                if($file->isValid()){
    
                    $path = Storage::disk('uploads')->putFile(date('Ymd') , $file);
    
                    if($path) {
    
                        return ['code' => 0 , 'msg' => '上传成功' , 'data' => $path];
    
                    }
    
                    else {
    
                        return ['code' => 400 , 'msg' => '上传失败'];
    
                    }
    
                }
    
            } else {
    
                return ['code' => 400, 'msg' => '非法请求'];
    
            }
    
        }
    
    //上传多张图
    
     public function multiUpload(Request $request)
    
        {
    
            if($request->method('post')){
    
                $files = $request->allFiles();
    
                if(is_array($files)){
    
                    foreach($files as $file){
    
                        $path = Storage::disk('uploads')->putFile(date('Ymd') , $file);
    
                    }
    
                    if( $path ) {
    
                        return ['code' => 0 , 'msg' => '上传成功' , 'data' => $path];
    
                    }
    
                    else {
    
                        return ['code' => 400 , 'msg' => '上传失败'];
    
                    }
    
                }
    
            }else{
    
                return ['code' => 400, 'msg' => '非法请求'];
    
            }
    
        }
    

      

    模板的上传操作 自行看layui文档吧,一毛一样的操作!!!

    更多学习内容请访问:

    腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)

  • 相关阅读:
    跨期套利策略
    读书笔记 量化交易:如何建立自己的算法交易事业
    ESP8266固件修改可以控制多个IO方法
    ESP8266固件烧录方法
    关于毕设WiFi选型
    关于(x&y)+((x^y)>>1)的探究
    QML添加右键菜单
    初学QML之QML和C++混合方法
    初学QML之qmlRegisterType
    我的第一个QML Button的实现
  • 原文地址:https://www.cnblogs.com/a609251438/p/12802855.html
Copyright © 2011-2022 走看看