Maison >cadre php >Laravel >Comment implémenter le téléchargement de fichiers uniques et multiples dans Laravel

Comment implémenter le téléchargement de fichiers uniques et multiples dans Laravel

藏色散人
藏色散人avant
2020-04-27 11:59:093980parcourir

La colonne tutorielle suivante de laravel vous présentera la méthode d'implémentation du téléchargement de fichiers uniques et multiples dans laravel. J'espère qu'elle sera utile aux amis dans le besoin !

Comment implémenter le téléchargement de fichiers uniques et multiples dans Laravel

Le code est super simple et facile à comprendre ! ! ! (Bienvenue pour ajouter ~)

Définissez d'abord l'itinéraire de téléchargement des fichiers :

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

Définissez ensuite l'adresse du disque de téléchargement, qui sera utilisée pour stocker les fichiers plus tard. config/filesystem : disks

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

Enfin, UploadController définit la fonction de téléchargement (utilisez la méthode de disque de Storage pour accéder au disque de téléchargement, qui est défini dans le fichier du système de fichiers précédent)

Méthode putFile : gérer fichiers à l'emplacement de stockage spécifié, par exemple, le nom du fichier est automatiquement généré, ou il peut être défini manuellement ('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' => '非法请求'];
        }
    }

Le dernier et le dernier : l'opération d'upload du template... voyez par vous-même le document layui Eh bien, c'est exactement la même opération ! ! ! 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer