tp上傳圖片到七牛雲
阿新 • • 發佈:2019-01-13
一、新增域名
如果你有域名,新增上自己的域名,並配置CNAME。如果沒有域名,可使用體驗版30天的外鏈。
沒配置之前的:
配置之後的:
二、配置流程:
點選小鎖:
這邊有個CNAME:
複製CNAME,到自己的購買的域名服務商那兒(我在阿里雲買的):
把記錄值換成複製好的CNAME。
好了,回七牛在看,這時,域名配置已經成功了!
三、下載sdk包
下載地址(隨時間的變化地址可能會失效):
https://developer.qiniu.com/sdk#official-sdk
選擇自己所學的語言(我演示的是php):
下載好後:
四、放入tp專案資料夾裡
下載好的sdk包放入到tp專案中的extend資料夾裡,新建一個Qiniu資料夾:
控制器裡引入方法:
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
五、程式碼實現
控制器:
<?php
namespace app\index\controller;
use think\Controller;
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\ UploadManager;
class Index extends Controller
{
public function index()
{
if(isset($_POST['sub']))
{
$accessKey ="你的七牛裡面的Ak值"; //AK值
$secretKey ="你的七牛裡面的Sk值"; //SK值
$bucket = "rocker"; //7牛空間名稱\
$auth = new Auth($accessKey , $secretKey);
$token = $auth->uploadToken($bucket); //獲取token
$filePath = $_FILES['file']['tmp_name']; //獲取上傳的圖片、檔案
$filename = date("YmdHis").$_FILES["file"]["name"]; //自定義儲存在七牛的檔名
$uploadMgr = new UploadManager(); // 初始化 UploadManager 物件並進行檔案的上傳。
list($ret, $err)=$uploadMgr->putFile($token, $filename, $filePath);
echo "\n====> putFile result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
}
else
return $this->fetch('index');
}
}
檢視:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script src="http://www.jq22.com/jquery/jquery-3.3.1.js"></script>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" /><br>
<input type="submit" name="sub" value="提交" />
</form>
</body>
</html>
六、效果展示
可能會出現的情況:
可能在上傳的過程中,報函式不存在,這時你可以找到那個方法,並用include包含即可