laravel上传到七牛图片插件
1.首先引入两个插件
2.在https://developer.qiniu.com/kodo/sdk/1241/php找到安装命令
在终端运行composer require qiniu/php-sdk
3.自定义一个全局辅助函数,首先在项目的Http文件夹中新建Helpers
文件夹,里面新建一个文件,名字就叫qiniu.php,注意引入
// 引入鉴权类
use Qiniu\Auth;
// 引入上传类
use Qiniu\Storage\UploadManager;
在composer.json里写上
"files": [
"app/Http/Helpers/qiniu.php",
],
然后在终端中执行自动加载命令:composer dump-autoload
命令,使其生效。
4.定义一个文件上传的upload.js
//文件上传
var opts = {
url: "/photos",
type: "POST",
success: function (result) {
if (result.status == 0) {
alert(result.msg);
return false;
}
$("input[name='image']").val(result.msg);
$("#img_show").attr("src", result.msg);
},
error: function () {
alert('文件上传失败');
}
}; $('#image_upload').fileUpload(opts); 全局辅助函数
<?php
// 引入鉴权类
use Qiniu\Auth;
// 引入上传类
use Qiniu\Storage\UploadManager; function qiniu_upload($filePath)
{
// 需要填写你的 Access Key 和 Secret Key
$accessKey ='XXX';
$secretKey ='XXX';
$bucket = "bigcat";
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 生成上传 Token
$token = $auth->uploadToken($bucket); // 上传到七牛后保存的文件名
$key = basename($filePath);
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
unlink($filePath); }
5.创建图片上传控制器
photocontroller.php
class PhotoController extends Controller
{
/***
* 上传图片
* @param Request $request
*/
public function store(Request $request)
{
if ($request->hasFile('image') && $request->file('image')->isValid()) { $allow_types = ['image/png', 'image/jpeg', 'image/gif'];
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, 'image_url' => '/storage' . str_replace('public', '', $path)]; //上传到七牛
$file_path = storage_path('app/') . $path;
qiniu_upload($file_path);
return ['status' => 1, 'msg' => 'http://XXX.php233.club/' . basename($file_path)];
}
} } 可以使用图片上传功能了!
laravel上传到七牛图片插件的更多相关文章
- 使用PHP把图片上传到七牛
先从官网下载SDK,然后新建一个文件,里面包括上传,下载,删除 <?php header("Content-Type:text/html; charset=utf8"); r ...
- 定时备份 MySQL 并上传到七牛
多数应用场景下,我们需要对重要数据进行备份.并放置到一个安全的地方,以备不时之需. 常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份).mysqldump 全量逻辑备份. ...
- Java进阶学习:将文件上传到七牛云中
Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...
- Chrome插件-把网页图片上传到七牛空间一
功能:图片上右键,点击上传图片到七牛,把图片上传的指定空间并返回图片URL. Chrome插件本质就是js代码,但是里面有一些限制,比如事件绑定等和普通js的绑定是有区别的,主要是为了安全性考虑. 做 ...
- 一百三十五:CMS系统之UEditoe编辑器集成以及配置将图片上传到七牛
富文本编辑框,选择UEditor 下载地址:http://ueditor.baidu.com/website/download.html 使用说明:http://fex.baidu.com/uedit ...
- Flask实战第55天:cms轮播图上传到七牛功能完成
登录七牛云,进入“对象存储”, 新建存储空间(Bucket), 我创建的空间命名为flask-bbs 创建完Bucket,七牛会给我们提供一个测试域名,生产环境中,我们需要绑定自己的域名 在个人面板中 ...
- 纯Delphi 原生写的 上传到七牛的功能
上传文件到七牛, 支持分片分段上传, 适用于Delphi XE, 10等新版本 分两个函数: uploadToQiniu 和 directUploadToQiniu uploadToQiniu 这个函 ...
- laravel上传文件到七牛云存储
背景 最近在用PHP和laravel框架做一个图片网站,需要将图片存贮到云端,搜索下了对比了下功能,发现七牛云存储不错(主要小流量免费),便选择使用七牛作为图片存储空间. 要实现的功能很简单,选择本地 ...
- WordPress网站加速优化,一键免费使用七牛CDN插件
利用wordpress搭建网站是个人建站的主流方案,我曾分享过wordpress网站加速优化必做的十件事,帮助了不少个人站长.今天介绍帮助wordpress网站提升速度至少10倍的免费CDN加速插件: ...
随机推荐
- 5104 I-country
5104 I-country 在 N*M 的矩阵中,每个格子有一个权值,要求寻找一个包含 K 个格子的凸连通块(连通块中间没有空缺,并且轮廓是凸的,如书中图片所示),使这个连通块中的格子的权值和最大. ...
- 自定义View实现钟摆效果进度条PendulumView
转载请注明出处:http://blog.csdn.net/fightlei/article/details/52556755 在网上看到了一个IOS组件PendulumView,实现了钟摆的动画效果. ...
- Luogu P1886 滑动窗口
P1886 滑动窗口 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The a ...
- 2019.4.18 HTML + CSS相关整理
目录 标签 块标签 行标签 行块转化 嵌套规则 css引入方式 行间样式 内部引入 外部引入 选择器 基础选择器 组合选择器 盒模型 css样式 字体属性 设置字体的大小 设置字体的粗细 设置字体的风 ...
- scrapy抓取中文后乱码解决方法
出现这种东西不是乱码,是unicode,只是人看不懂,例如: \u96a8\u6642\u66f4\u65b0> \u25a0\u25a0\u25a 我们把他解码成中文码即可,在settings ...
- Xpath常用总结
XPath常用定位节点元素语句总结 将一个XML或HTML文档转换成了DOM树结构后,如何才能定位到特定的节点?XPath实现了这样的功能,它通过DOM树中节点的路径和属性来导航,通过XPath路径表 ...
- 转 OGG 部署阶段常见问题
序号 问题 解决方案1 "2019-04-13 20:23:55 ERROR OGG-00868 Oracle GoldenGate Capture for Oracle, e_db1.pr ...
- Ionic3,装饰器(@Input、@ViewChild)以及使用 Events 实现数据回调中的相关用法(五)
标题栏的渐变效果 使用到的相关装饰器.Class以及相关方法:@Input.@ViewChild.Content.ionViewDidLoad ① @Input 装饰器:用来获取页面元素自定义属性值. ...
- SpringCloud---客户端负载均衡---Spring Cloud Ribbon
1.概述 1.1 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具: 基于Netflix Ribbon实现: 通过Spring Cloud的封装,可以轻松将面向服务 ...
- <asp:FileUpload>控件 获取不到文件名
<asp:FileUpload>控件 放在了<asp:UpdatePanel>控件中会导致获取不到文件名.