php :七牛云上传文件

安装sdk

composer require qiniu/php-sdk

后端上传:

<?php


namespace app\api\controller;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;

class Qn
{
    static private $accessKey = "CqfperBEHyoU8u7x5uvyjb6r2XCYaz**********";
    static private $secretKey = "lVMaQWHoIDlOLN1AGOM3B0GKG30NQa**********";
    static private $bucket = "qncdn369";
    static private $http_host = "";

    //获取上传凭证后表单上传
    public function token()
    {
        $auth = new Auth(self::$accessKey, self::$secretKey);
        $token = $auth->uploadToken(self::$bucket);
        return json(['status' => 1, 'msg' => '成功', 'data' => $token]);
    }

    //服务器直传
    public function up()
    {
        if(empty($_FILES['file']['tmp_name'])) return json(['status' => 0, 'msg' => '请上传文件', 'data' => '']);
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = self::$accessKey;
        $secretKey = self::$secretKey;
        $bucket = self::$bucket;
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
        // 要上传文件的本地路径
        $filePath = $_FILES['file']['tmp_name'];
        // 上传到存储后保存的文件名
        $key = randString(16);
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
        if ($err !== null) {
            return json(['status' => 0, 'msg' => '上传失败', 'data' => '']);
        } else {
            return json(['status' => 1, 'msg' => '上传成功', 'data' => ['url'=>self::$http_host.$key]]);
        }
    }
}

前端form表单上传:

<form method="post" id="uploadForm" action="http://up.qiniup.com/" enctype="multipart/form-data">
    <input name="key" type="hidden" value="{$resource_key}">
    <input name="token" type="hidden" value="{$upload_token}">
    <input name="crc32" type="hidden"/>
    <input name="accept" type="hidden"/>
    <input name="file" type="file"/>
    <input type="submit" value="上传文件"/>
</form>
<button onClick="up()">上传</button>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
    function up() {
        var formData = new FormData(document.getElementById("uploadForm"));
        $.ajax({
            url: "http://up.qiniup.com/",
            type: "POST",
            data: formData,
            processData: false,
            contentType: false,
            success: function (data) {
                console.log(data)
            },
            error: function (data) {
                console.log(data)
            }
        });
    }
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值