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

18天前    标签:Laravel    阅读:131   


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

步骤1:创建 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,在上传接口方法中传递图片和上传文件夹目录名。

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元 618年中云钜惠大促,精选云产品1折起,助力新基建,618年中大促云服务器88元

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

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

文章评论(0)

登录

博主信息

头像

简忆博客
仕而优则学,学而优则仕。

置顶推荐

打赏本站

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