edusoho教培老版本 chrome 8.0版本以上无法上传资源 比如8.3.36版本

1.修改 src/AppBundle/Util/UploaderToken.php

<?php

namespace AppBundle\Util;

use AppBundle\Component\JWT\JWT;
use Topxia\Service\Common\ServiceKernel;
use AppBundle\Common\TimeMachine;

/**
 * 素材库文件上传Token.
 */
class UploaderToken
{
    public function make($targetType, $targetId, $bucket, $ttl = 86400)
    {
        $user = $this->getCurrentUser();
        $metas = "{$user['uuid']}|{$targetType}|{$targetId}|{$bucket}";
        $payload = array(
            "iss" => "EduSoho",
            "aud" => "EduSoho",
            "exp" => TimeMachine::time() + $ttl,
            "metas" => $metas,
        );

        return JWT::encode($payload, $this->getKey(), 'HS256');
    }

    public function parse($token)
    {
        if (empty($token)) {
            return null;
        }
        $payload = JWT::decode($token, $this->getKey(), array('HS256'));
        $metas = $payload->metas;
        list($uuid, $targetType, $targetId, $bucket) = explode('|', $metas);

        $user = $this->getUserService()->getUserByUUID($uuid);
        if (empty($user)) {
            return null;
        }
        return array(
            'userId' => $user['id'],
            'targetType' => $targetType,
            'targetId' => $targetId,
            'bucket' => $bucket,
        );
    }

    private function base64Encode($data)
    {
        return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    }

    private function base64Decode($data)
    {
        return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
    }

    private function getCurrentUser()
    {
        return ServiceKernel::instance()->getCurrentUser();
    }

    private function getKey()
    {
        $this->getSettingService()->get('storage', array());
        $accessKey =  empty($storage['cloud_access_key']) ? '' : $storage['cloud_access_key'];
        $secretKey = empty($storage['cloud_secret_key']) ? '' : $storage['cloud_secret_key'];
        return md5($accessKey.$secretKey);
    }

    /**
     * @return SettingService
     */
    private function getSettingService()
    {
        return $this->getServiceKernel()->getBiz()->service("System:SettingService");
    }

    /**
     * @return UserService
     */
    private function getUserService()
    {
        return $this->getServiceKernel()->getBiz()->service("User:UserService");
    }

    private function getServiceKernel()
    {
        return ServiceKernel::instance();
    }

}

修改 src/Biz/File/Service/Impl/UploadFileServiceImpl.php 的对应方法

3. 最主要的 引入JWT 。。。。。将JWT文件夹复制到 项目目录 src/AppBundle/Component 下

链接: https://pan.baidu.com/s/1YOAW9FV4lxLLV6QBvYO20Q?pwd=5o7s 提取码: 5o7s 
--来自百度网盘超级会员v1的分享

这时候 上传试一下 

4.如果你不是只能https访问的话会存在跨域的报错 处理方案就是把sdk本地化   sdk本地化教程

这时候 上传就没啥问题了  ,已在8.3.36版本测试有效。如遇问题可找我帮你看下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.课程发布系统  支持三种课时类型:视频、图文、音频  除自主发布视频,也可以引用站外视频  课程目标和适合人群,协助学员定位  资料上传、测验题库维护,增强教学效果  可视化课时管理,可以对逐个课时进行发布,支持连载课程 2.在线学习系统  课程展示页面和学习页面分离,让处于不同体验时期的学员获得该时期的必要信息  支持支付宝购买课程  笔记、资料,学员可随时记录知识要点,查看、下载课时资料  问答、讨论区,师生之间、学员之间可有效沟通  在线测验,学生学习后可进行测验了解掌握状况  支持大部分移动客户端 3.题库试卷系统  可添加各种题型的试题,支持单选题、多选题、填空题、判断题、问答题、材料题,后续还会增加更多  试卷与课程、课时相对应,逻辑清晰,应用灵活  根据题库,可按照难易程度、课时范围快速智能组卷  学生做题时,有计时提醒、单题状态、题目定位、题目标记、题目收藏等各种强大的辅助功能可用  试卷提交后,客观题自动算分,主观题可由课程老师来进行批阅打分  试卷批阅完成,可查看试卷解析和评语,也可再次重做试卷 4.系统功能  支持三种管理权限:教师、管理员、超级管理员。用于三种不同分工  后台首页仪表盘,全面快速了解网校的运营、收入情况  简洁的内容管理,通过页面、导航、编辑区有效的组织网站  各种模版选择和定制,让网站独具特色!  云服务支持,通过简单设置实现云服务升级

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值