Dcat Admin Editor富文本 添加视频本地上传

效果:

添加代码后会出现红圈里面的按钮:

代码实现选择文件功能:

选择视频文件后自动上传并回填地址:

点击确定保存到富文本框:

代码实现:

app\Admin\bootstrap.php 加入以下内容:

use Dcat\Admin\Form;
Form\Field\Editor::resolving(function (Form\Field\Editor $editor) {
    $editor->options([
        'file_picker_types' => 'media',
        'file_picker_callback' => \Dcat\Admin\Support\JavaScript::make(<<<JS
            function file_picker_callback (callback, value, meta) {
                // 设置上传地址为原富文本框图片文件上传地址
                var upurl = opts.images_upload_url;
                var filetype = '';
                // 处理媒体类型文件能选择的文件类型
                if (meta.filetype == 'media') {
                    filetype = '.mp4,.webm,.ogg'
                }
                //模拟出一个input用于添加本地文件
                var input = document.createElement('input');
                input.setAttribute('type', 'file');
                input.setAttribute('accept', filetype);
                // 模拟点击file input
                input.click();
                input.onchange = function() {
                    // 文件选择后进行上传
                    var file = this.files[0];
                    var xhr, formData;
                    console.log(file.name);
                    xhr = new XMLHttpRequest();
                    xhr.withCredentials = false;
                    xhr.open('POST', upurl);
                    xhr.onload = function() {
                        var json;
                        if (xhr.status != 200) {
                            failure('HTTP Error: ' + xhr.status);
                            return;
                        }
                        json = JSON.parse(xhr.responseText);
                        if (!json || typeof json.location != 'string') {
                            failure('Invalid JSON: ' + xhr.responseText);
                            return;
                        }
                        callback(json.location);
                    };
                    formData = new FormData();
                    formData.append('file', file, file.name );
                    xhr.send(formData);
                }
            }
        JS)
    ]);
});
本作品采用 《CC 协议》,转载必须注明作者和本文链接
myaccountl
5 人点赞
《L03 构架 API 服务器》
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1
_help

你好,我设置了 languageUrl(url('TinyMCE/langs/zh_CN.js')) 语言包,为什么不起效果?

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
myaccountl
未填写
文章
2
粉丝
2
喜欢
9
收藏
15
排名:1821
访问:1303
私信
所有博文
博客标签
dcat
1
社区赞助商
成为赞助商

代做工资流水公司长沙做入职工资流水江门银行流水PS样本舟山个人工资流水 制作扬州做工资流水单苏州代开对公银行流水青岛企业对公流水样本宜昌查对公流水邢台收入证明打印南宁办车贷工资流水扬州银行流水PS查询洛阳企业对公流水制作临沂工资流水app截图打印桂林开流水单漳州工资代付流水打印盐城日常消费流水多少钱商丘工资流水单代做湘潭签证工资流水图片咸阳做银行流水账重庆流水账单开具珠海签证流水办理无锡转账流水打印桂林代开贷款银行流水阜阳流水报价济宁查询房贷流水绵阳办理背调银行流水常州制作工资流水福州背调工资流水办理苏州打印背调工资流水柳州流水单模板常德车贷银行流水 模板香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化