Laravel图片上传简单封装及调用方法

2020-07-17   阅读:3710   分类:后端    标签: Laravel

Laravel 图片上传简单封装及调用方法,我们在使用框架开发系统,如果经常需要用到图片上传,这时我们就有必要考虑封装了。以下是个简单的封装方法,仅供大家参考。

步骤1:修改文件系统文件配置:位于config/filesystems.php

'Uploads' => [
   'driver' => 'local',
   'root' => public_path('/Uploads'), // public_path 就是public的路径
   'url' => env('APP_URL').'/storage',
   'visibility' => 'public',
   ],

image.png

步骤2:创建 Upload.php 位于 app\TraitClass\Upload.php

<?php
/**
 * Created by PhpStorm.
 * User: Admin
 * Date: 2020/7/17
 * Time: 17:15
 * 文件上传封装
 */
namespace App\TraitClass;
use Illuminate\Support\Facades\Storage;

trait Upload
{

    /*
     * 图片上传接口
     * 文件名
     * 文件夹名
     * */
    public function uploadImg($file,$folder){
            $tmp = $file;
            $folder=$folder ? $folder : "";
            $path = '/Uploads'; //public下的Uploads
            if ($tmp->isValid()) { //判断文件上传是否有效
                $FileType = $tmp->getClientOriginalExtension(); //获取文件后缀

                $FilePath = $tmp->getRealPath(); //获取文件临时存放位置

                $FileName = $folder.'/'.date('Y-m-d') . uniqid() . '.' . $FileType; //定义文件名

                Storage::disk('Uploads')->put($FileName, file_get_contents($FilePath)); //存储文件

                return $data = [
                    'status' => 0,
                    'path' => $path . '/' . $FileName //文件路径
                ];
            }
    }

}

步骤2:使用及调用方法

<?php
use App\TraitClass\Upload;
class ArticleController extends Controller
{
    use Upload;
       /*
        * ico图片上传接口
        * */
   public function ico(Request $request){
       if($request->isMethod('post')){
           $img=$request->img;
           $res=$this->uploadImg($img,'img');
           return $res;

       }
   }
 }
 
?>

结语:这里通过 use App\TraitClass\Upload 引入Upload.php,在上传接口方法中传递图片和上传文件夹目录名。

【腾讯云】 爆款2核2G3M云服务器首年 61元,2核2G4M云服务器新老同享 99元/年,续费同价

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/367.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×