laravel之上传图片至七牛云篇

如今的网站图片量越来越大, 所以图片不太可能存到数据库,这样我们就必须采取措施, 比如存到第三方的云储存里,如很火的七牛云...

  1. 首先我们需要一个上传图片的插件,这里举例子的插件叫 html5-fileupload。
    首先下载丢到public/vendor/下, 在有页面提交的表单上引用该js文件,
    然后创建一个上传图片的控制器 如photoController.php
  •  先看js的代码
var options = {
    type: 'POST',
    url: '填你控制器的地址',
    beforeupload: function() {
        //上传成功之前的行为
    },
    success: function(res) {
        if(res.status == 0) {
            alert(res.msg);
            return false
        }
        $("input[name='image']").val(res.msg);  //将图片表单的值改为成功上传的路径
        $("#img_show").attr("src", res.msg);  //将显示图片的地址改为成功上传图片的路径
        $("#loading").attr('class', 'am-icon-cloud-upload'); //图标  这个随你搞
    }
    error: function() {
        //如果出错怎么办...
    }
}
  •  再看控制器里的代码
 public function store(Request $request) {
        if($request->hasFile('image') && $request->image->isValid()) {
            $allow_types = ['image/png', 'image/jpeg', 'image/gif', 'image/jpg'];
            if(!in_array($request->image->getMiMeType(), $allow_types)) {
                return ['status'=> 0, 'msg'=> '图片类型不正确!'];
            }
            if($request->image->getClientSize() > 1024 * 1024 * 3) {
                return ['status'=> 0, 'msg'=>'图片大小不能超过 3M'];
            }
            $path = $request->image->store('public/images');
//            //上传到本地
//            return ['status'=> 1, 'msg'=>'/storage'.str_replace('public', '', $path)];

            //storage_path返回根目录下的storage的绝对路径 里面放的直接丢在后面
            $filePath = storage_path('app/'.$path);

            //上传到七牛
            qiniu_upload($filePath);  //调用的全局函数

            //返回
            return ['status'=> 1, 'msg'=> 'http://ow7pezvrt.bkt.clouddn.com/'.basename($filePath)];

        }
    }
  •   控制器后面可能有些不知道的 先来安装七牛
    在命令行打
composer require qiniu/php-sdk

跑完后, 我们就可以写一个全局函数了,在Http/Helpers下创建一个qiniu.php 内容如下:


// 引入鉴权类
use Qiniu\Auth;
// 引入上传类
use Qiniu\Storage\UploadManager;

function qiniu_upload($filePath) {


// 需要填写你的 Access Key 和 Secret Key
    $accessKey = "edj5WTd-8sURwN4qZD3YE2U9TDL4skSugNO6yevp";
    $secretKey = "4o06NtzXmP0Tu0F8P77Lk4oHSO40zYMae7yXHmUl";
    $bucket = "shop";

// 构建鉴权对象
    $auth = new Auth($accessKey, $secretKey);

// 生成上传 Token
    $token = $auth->uploadToken($bucket);

// 要上传文件的本地路径
//    $filePath = './php-logo.png';

// 上传到七牛后保存的文件名
    $key = basename($filePath);

// 初始化 UploadManager 对象并进行文件的上传。
    $uploadMgr = new UploadManager();

// 调用 UploadManager 的 putFile 方法进行文件的上传。
    $uploadMgr->putFile($token, $key, $filePath);
//删除本地图片
    unlink($filePath);
}

然而全局函数可能并没有加载到composer.json里去
我们需要打开composer.json


composer.json

然后我们重新加载这个
命令行输入

composer dump-autoload

这样函数就加载成功了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容