1.先创建好七牛云账号和存储空间

  1. 申请七牛云账号;
  2. 创建七牛云存储空间;
  3. 在账号的秘钥管理里面创建秘钥 获取AccessKey / SecretKey;

2.集成PHP-SDK

七牛云开发文档:https://developer.qiniu.com/kodo

(一)Composer 安装 SDK(推荐使用)
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:composer require qiniu/php-sdk

(二)传统方式安装
进入七牛云,下载官方 PHP-SDK,将下载下来的SDK解压,放入项目第三库文件(vendor 或者 extend)

3.实战开发

在之前要引入七牛云

use Qiniu\Auth;
use Qiniu\Storage\UploadManager;

HTML页面代码:

  <form action="http://www.examtest.com/pyg/admin/save" method="post" class="form form-horizontal" id="form-add" enctype="multipart/form-data">

//文件上传
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2"><span class="c-red"></span>logo图片:</label>
<div class="formControls col-xs-8 col-sm-9">
<div class="uploader-thum-container">
<div id="fileList" class="uploader-list"></div>
<input type="file" id="goods_logo" name="goods_logo" value="">
</div>
</div>
</div> </form>

控制器代码:

    public function save(Request $request)
{
// 七牛云文件上传
// 接受文件值
$img = $_FILES['goods_logo'];
// 1.截取文件的后缀
$suffix = substr($img['name'], -4, 4);
//2.获取文件的临时路径
$tmp_name = $img['tmp_name'];
//3:书写上传文件的新的文件名称(自定义)拼接,截取的后缀;
$newFilePath = md5($tmp_name) . time() . rand(1, 999) . $suffix;
print_r($newFilePath);
//4:区七牛云里获取自己的秘钥
$AccessKey = '7Gu_5HzqSHJB3nLBz51pQN8oJBfqeGwd3kQ-vCNX';
$SecretKey = 'frzqcOjOhL55eIMXQSLIfO_apMHrs0fr8jjklKDt';
// 5:将获取的的秘钥实例化
$auth = new Auth($AccessKey, $SecretKey);
// 6:设置将文件上传的空间名称
$spaceName = 'yanbing123456789';
//7:要上传的空间 生成上传Token
$token = $auth->uploadToken($spaceName);
//8: 构建 UploadManager 对象
$uploadMgr = new UploadManager();
//9: 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $newFilePath, $tmp_name);
//10:进行判断
if ($err != null) {
echo '文件上传失败';
/* return json([
'msg' => '上传失败',
'code' => 201,
'result' => ''
]);
*/
}
//11:空间域名进行拼接新的文件路径
$imageUrl = 'http://qzevlue2n.hn-bkt.clouddn.com/' . $newFilePath;
echo '文件上传成功';
/* return json([
'msg' => '上传成功',
'code' => 200,
'result' => ''
]);
*/
}

tp 七牛云文件上传的更多相关文章

  1. laravel 7七牛云文件上传

    1:composer下载七牛云 composer require itbdw/laravel-storage-qiniu 2:打开 config 文件夹下的 app.php 文件,在 provider ...

  2. 七牛云覆盖上传 php

    使用七牛云过程中遇到了需要上传覆盖的情况,最终解决,分享给大家. 七牛云sdk上传示例中是这样写的 <?php require_once 'path_to_sdk/vendor/autoload ...

  3. angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传

    step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...

  4. 一、虚拟环境.二、路由配置主页与404.三、2.x路由分发.四、伪静态.五、request对象.六、FBV与CBV.七、文件上传.

    一.虚拟环境 ''' 解决版本共存 1. 用pycharm选择File点击NewProject然后选择virtualenv创建一个纯净环境 2. 打开下载的目录将venv文件夹下的所有文件(纯净的环境 ...

  5. 图床工具PicGO实现七牛云图片上传

    图床工具PicGO实现七牛云图片上传 我们在写博客或者网络文章时经常需要上传图片.目前最有名气的图床工具就是PicGO. 简单的界面,完整的功能,在相册里也能直接复制markdown图片链接.一直深受 ...

  6. 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法

    一.准备工作 1.注册七牛云账号 2.选择对象储存->创建空间->设置为公开 3.在config配置文件中添加以下代码 'UPLOAD_FILE_QINIU' => array ( ...

  7. C#使用七牛云存储上传下载文件、自定义回调

    项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现. 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了. 一个 ...

  8. Android客户端实现七牛云存储文件上传

    1.简单文件上传  上传模型如下. 1.1获得Token 不管是简单文件上传,还是分片上传.断点续传 都需要首先访问服务器,以获得上传凭证信息Token..用于测试时,可以用本地模拟Token信息(有 ...

  9. FineUI第七天---文件上传

       文件上传的方式: 控件的一些常用属性: ButtonText:按钮文本. ButtonOnly:是否只显示按钮,不显示只读输入框. ButtonIcon:按钮图标. ButtonIconUrl: ...

随机推荐

  1. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile

    前言 IDEA(2020)引入Maven进行依赖管理,无法从私服上下载jar包 报如下错误 Failed to execute goal org.apache.maven.plugins:maven- ...

  2. Keka 官方网址 http://www.kekaosx.com/

    Keka 官方网址 http://www.kekaosx.com/zh-cn/

  3. java run()方法无法throws 异常

    感谢大佬:https://blog.csdn.net/z_ssyy/article/details/95345205 其实原因很简单,run()方法是我们调用start()方法后,jvm再去调用run ...

  4. ◆JAVA加密解密-3DES

    从数据安全谈起       当你使用网银时,是否担心你的银行卡会被盗用?     当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露?     作为开发者,编写安全的代码比编写优雅的代码更重要,因为 ...

  5. jenkins插件Publish Over SSH因安全问题下架

    最近用docker新搭建了一个jenkins,安装插件的时候发现publish over ssh找不到了,官方给出的解释是存在安全隐患于2022.01.12暂停分发,官方解释如下:https://ww ...

  6. springCloud项目解决跨域问题

    通过 spring cloud gateway 实现, 方式一:选择在主启动类中注册 CorsWebFilter 类: /** * 1.允许cookies跨域 * 2.允许向该服务器提交请求的URI, ...

  7. Spring 控制反转和依赖注入

    控制反转的类型 控制反转(IOC)旨在提供一种更简单的机制,来设置组件的依赖项,并在整个生命周期管理这些依赖项.通常,控制反转可以分成两种子类型:依赖注入(DI)和依赖查找(DL),这些子类型各自又可 ...

  8. 如何封装安全的go

    如何封装安全的go 在业务代码开发过程中,我们会有很大概率使用go语言的goroutine来开启一个新的goroutine执行另外一段业务,或者开启多个goroutine来并行执行多个业务逻辑.所以我 ...

  9. mysql视图,索引

    一.视图 View 视图是一个虚拟表,是sql语句的查询结果,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成.视图的数据变化会影响到基表,基表的数据变化也会 ...

  10. Objective-C 基础教程第三章,面向对象编程基础知

    目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...