一、安装扩展包

composer require "overtrue/laravel-filesystem-cos"

二、 修改配置文件 config/filesystems.php

把cos相关配置追加到disks中去:

<?phpreturn [/*|--------------------------------------------------------------------------| Default Filesystem Disk|--------------------------------------------------------------------------|| Here you may specify the default filesystem disk that should be used| by the framework. A "local" driver, as well as a variety of cloud| based drivers are available for your choosing. Just store away!|| Supported: "local", "ftp", "s3", "rackspace"|*/'default' => env('STORAGE','local'),/*|--------------------------------------------------------------------------| Default Cloud Filesystem Disk|--------------------------------------------------------------------------|| Many applications store files both locally and in the cloud. For this| reason, you may specify a default "cloud" driver here. This driver| will be bound as the Cloud disk implementation in the container.|*/'cloud' => 's3',/*|--------------------------------------------------------------------------| Filesystem Disks|--------------------------------------------------------------------------|| Here you may configure as many filesystem "disks" as you wish, and you| may even configure multiple disks of the same driver. Defaults have| been setup for each driver as an example of the required options.|*/'disks' => ['local' => ['driver' => 'local','root'   => storage_path('uploads'),],'ftp' => ['driver'   => 'ftp','host'     => 'ftp.example.com','username' => 'your-username','password' => 'your-password', ],'qiniu' => ['driver'  => 'qiniu','domain' => env('QINIU_DOMAIM',''),'domains' => ['default'   => env('QINIU_DOMAIM',''), //你的七牛域名'https'     => 'dn-yourdomain.qbox.me',         //你的HTTPS域名'custom'    => 'static.abc.com',                //你的自定义域名],'access_key'=> '',  //AccessKey'secret_key'=> '',  //SecretKey'bucket'    => env('BUCKET',''),  //Bucket名字'notify_url'=> '',  //持久化处理回调地址],'cos' => ['driver' => 'cos','region'          => env('COS_REGION'),'credentials'     => ['appId'     => env('COS_APP_ID'),'secretId'  => env('COS_SECRET_ID'),'secretKey' => env('COS_SECRET_KEY'),],'timeout'         => env('COS_TIMEOUT', 60),'connect_timeout' => env('COS_CONNECT_TIMEOUT', 60),'bucket'          => env('COS_BUCKET'),'cdn'             => env('RESOURCE_URL'),'scheme'          => env('COS_SCHEME', 'https'),'read_from_cdn'   => env('COS_READ_FROM_CDN', false),],],];

三、在.env文件中添加cos腾讯云连接配置。

COS_REGION="您的REGION"
COS_APPID="您的APPID"
COS_SECRET_ID="您的SECRET_ID"
COS_SECRET_KEY="您的SECRET_KEY"
COS_BUCKET="您的BUCKET"
RESOURCE_URL="您的访问域名"

注意:如果缓存过配置文件,记得清除一下缓存再重新生成

php artisan config:cache

四、 上传案例(文件流或者图片路径两种方式上传)

<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class UploadImgController extends \Illuminate\Routing\Controller
{/*** 文件流或文件路径上传图片* @param Request $request* @return \Illuminate\Http\JsonResponse*/public function uploadImg(Request $request){//type: 1:文件流上传方式。2:文件路径上传方式。$type = $request->input('type');  $file = $request->file('file'); //文件流$path = $request->input('path');  //文件路径if(!$type){return response()->json(['status' => 1, 'msg' => '缺少参数', 'data' => (object)[]]);}if($type == 1){if(!$file){return response()->json(['status' => 1, 'msg' => '缺少参数', 'data' => (object)[]]);}$extension = $file->getClientOriginalExtension(); //获取文件扩展名if(!in_array($extension,["png", "jpg", "gif", 'jpeg'])){return response()->json(['status' => 1, 'message' => '图片上传类型需要是png,jpg,jpeg或者是gif','data'=> (object)[]]);}$path = $file->getRealPath();$sc  = '/'.rand(11111,99999).'/'.time();}else{if(!$path){return response()->json(['status' => 1, 'msg' => '缺少参数', 'data' => (object)[]]);}$sc  = '/'.rand(11111,99999).'/'.time();}$fileName = config('filesystems.disks.cos.storage_url').$sc.'.'.$extension;$cloudConfig = config('filesystems.disks.cos');//腾讯云Cos存储$cosClient = new \Qcloud\Cos\Client(['region' => $cloudConfig['region'],'credentials' => ['appId' => $cloudConfig['credentials']['appId'],'secretId' => $cloudConfig['credentials']['secretId'],'secretKey' => $cloudConfig['credentials']['secretKey']]]);try {$result = $cosClient->putObject(['Bucket'    => $cloudConfig['bucket'], // 存储桶'Key'         => $fileName, //文件名'Body'         => fopen($path, 'rb'), // 图片]);return response()->json(['status' => 0, 'msg' => '图片上传成功','data'=> ['url'=>config('filesystems.disks.cos.url').$fileName,'path'=>$fileName]]);} catch (\Exception $e) {//日志记录LogRecord('logs/image.log','uploadImg',['msg'=>$e->getMessage()]);return response()->json(['status' => 1, 'msg' => '图片上传失败','data'=> (object)[]]);}}}

图片上传到腾讯云COS小案例相关推荐

  1. 微信小程序视频图片上传到腾讯云COS对象储存

    配置好腾讯云账号 下载对应SDK引入使用,这里提供实践代码. let COS = require('./utils/cos-wx-sdk-v5'); //签名生成配置数,可自行生成,或者后台处理好给你 ...

  2. html5 dzzxjbd cn,UEditor实现单张图片上传至腾讯云(对象存储服务)功能(html5

    UEditor文件上传默认只支持后端语音,因为项目是前后端分离开发,所以需要前端自行实现图片上传. 这里是直接修改的 ueditor/ueditor.all.js文件 ueditor.all.js中找 ...

  3. java文件上传到腾讯云COS

    官方文档:https://cloud.tencent.com/document/product/436/10199 首先导入依赖 <!--腾讯云cos相关依赖--> <depende ...

  4. 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云

    最近在做一个项目,涉及到腾讯云上传文件/图片到服务器,为了图方便并且提升访问速度,想着上传到腾讯云存储桶是一个不错的选择.腾讯云存储桶的创建可见我之前的文章. 当然存储桶里面不仅可以存图片,也可以存储 ...

  5. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接

    先前使用的是七牛云,是挺好用的,但是七牛对于测试域名有一个月的时间限制.测试域名失效后上传的图片等文件就不能访问了.但是腾讯云每个注册的账户有50G的对象存储的空间.而且没有时间限制.所以就采用腾讯的 ...

  6. Java导出Excel文档(poi),并上传到腾讯云对象存储服务器

    需求 后台生成周报月报季报年报Excel,将文件下载链接推送给对应客户 开发思路: 1.根据选定日期生成周报,月报,季报,年报数据 2.将这些数据报告生成Excel表格 3.把生成的文件上传到腾讯云对 ...

  7. spring mvc 附件上传至腾讯云qcloud

    简单记录主要是便于自己用,有需要的参考一下... 上传至腾讯云,相关文档参阅官方文档 附件为比较早的版本,自己修改过 1.实体bean --用multipartFile接收 public class ...

  8. 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...

    WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制文件.与使用FTP上传代码相比,通过WinSCP可以直接使 ...

  9. 使用POI读取EXCEL模板并填充数据,上传至腾讯云储存桶

    读取EXCEL模板,并填充数据生成文件 前言 一.POI导入 二.具体实现 1.制作我们的模板 2.读取模板来生成新的EXCEL 3.查看生成结果 三,传到腾讯云储存桶里 1.导入COS依赖 2.写个 ...

最新文章

  1. 【Python】青少年蓝桥杯_每日一题_8.19_数字组合
  2. multisim 12.0安装教程
  3. ambari 维护模式及reset API 操作
  4. 云原生系列「0」容器概述
  5. C语言(记录)——内存相关_2:内存的编址与管理
  6. Python调用C语言函数
  7. 前端代码编辑器 sublime text 4 for Mac v4.0(4114) 中文设置
  8. 电脑上没有tts信息服务器,TTS——让你的电脑会说话-win7 tts
  9. sony android电视软件,Sony TV Remote app
  10. 海康ehome协议分析(2):预览请求
  11. 从网络启动恢复RG750Gr3
  12. C++11 auto类型说明符如for(atuo x : s)
  13. 2021-09-10 参数计算
  14. ISFP——思想起决定作用
  15. 新手必看:蓝牙耳机什么牌子的好用?2023年蓝牙耳机排名
  16. 个人职业生涯规划发展的一些图
  17. flutter从入门到熟练全套学习视频教程
  18. DS1302时钟程序解读
  19. The application's PagerAdapter changed the adapter's contents without calling PagerAdapter
  20. Pippo java微服务,轻量级web开发框架,原来Filter还能这么玩

热门文章

  1. NO.43------QQ音乐爬虫
  2. LaTeX—将论文模板的关键词从Index Terms 改为Keywords
  3. Android高级-网易云音乐屏幕适配
  4. 16回溯法——圆排列问题
  5. OSChina 周五乱弹 —— 如何面对公司同事大乱斗
  6. 计算机网络套接字编程实验-TCP多进程并发服务器程序与单进程客户端程序(简单回声)
  7. 如何在linux上配置网桥
  8. 利用libcurl获取新浪股票接口
  9. 日常小结:emoji表情转换utf-8编码字符串(存入数据库)/还原表情字符(页面展示)
  10. 安装了GitLab的虚拟机整体拷贝到内网步骤