1. 首先在数据表中建立以file为后缀的视频字段名;
  2. 在html的上传按钮中,添加两个属性data-mimetype=”mp3,mp4,avi,flv,wmv”等等视频类型属性和data-maxsize=”100M”即视频大小的最大值;如:
<div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('Vediofile')}:</label><div class="col-xs-12 col-sm-8"><div class="input-group"><input id="c-vediofile" class="form-control" size="50" name="row[vediofile]" type="text"><div class="input-group-addon no-border no-padding"><span><button type="button" id="plupload-vediofile" class="btn btn-danger plupload" data-input-id="c-vediofile" data-mimetype="mp4,mp3,avi,flv,wmv" data-multiple="false" data-maxsize="50M"><i class="fa fa-upload"></i> {:__('Upload')}</button></span><span><button type="button" id="fachoose-vediofile" class="btn btn-primary fachoose" data-input-id="c-vediofile" data-mimetype="mp4,mp3,avi,flv,wmv" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span></div><span class="msg-box n-right" for="c-vediofile"></span></div></div>
</div>

3.修改application/extra/upload.php中的maxsize配置:

<?php//上传配置
return [// ..../*** 最大可上传大小*/'maxsize'   => '50mb',/*** 可上传的文件类型(新增mp4,mp3,avi,flv,wmv视频文件后缀)*/'mimetype'  => 'jpg,png,bmp,jpeg,gif,zip,rar,xls,xlsx,mp4,mp3,avi,flv,wmv',// ....
];
  1. 修改php.ini配置文件后,并重新启动php:
    a、 file_uploads = On ;是否允许通过HTTP上传文件的开关。默认为On即是开
    b、upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
    c、upload_max_filesize = 8M ;望文生意,即允许上传文件大小的最大值。默认为2M
    d、post_max_size = 8M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
  2. 找到文件上传的php,在application/admin/controller/Ajax.php,修改里面的upload方法,在此基础上添加视频上传的代码即可
/*** 上传文件*/public function upload(){//dump(123);die;Config::set('default_return_type', 'json');$file = $this->request->file('file');if (empty($file)) {$this->error(__('No file upload or server upload limit exceeded'));}//判断是否已经存在附件$sha1 = $file->hash();$upload = Config::get('upload');preg_match('/(\d+)(\w+)/', $upload['maxsize'], $matches);$type = strtolower($matches[2]);$typeDict = ['b' => 0, 'k' => 1, 'kb' => 1, 'm' => 2, 'mb' => 2, 'gb' => 3, 'g' => 3];$size = (int)$upload['maxsize'] * pow(1024, isset($typeDict[$type]) ? $typeDict[$type] : 0);$fileInfo = $file->getInfo();$suffix = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));$suffix = $suffix ? $suffix : 'file';$mimetypeArr = explode(',', strtolower($upload['mimetype']));$mimetypeArr=array_merge($mimetypeArr,['mp4','mp3','avi','flv','wmv']);$typeArr = explode('/', $fileInfo['type']);//验证文件后缀if ($upload['mimetype'] !== '*' &&(!in_array($suffix, $mimetypeArr)|| (stripos($typeArr[0] . '/', $upload['mimetype']) !== false && (!in_array($fileInfo['type'], $mimetypeArr) && !in_array($typeArr[0] . '/*', $mimetypeArr))))) {//dump(123456);die;$this->error(__('Uploaded file format is limited'));}$replaceArr = ['{year}'     => date("Y"),'{mon}'      => date("m"),'{day}'      => date("d"),'{hour}'     => date("H"),'{min}'      => date("i"),'{sec}'      => date("s"),'{random}'   => Random::alnum(16),'{random32}' => Random::alnum(32),'{filename}' => $suffix ? substr($fileInfo['name'], 0, strripos($fileInfo['name'], '.')) : $fileInfo['name'],'{suffix}'   => $suffix,'{.suffix}'  => $suffix ? '.' . $suffix : '','{filemd5}'  => md5_file($fileInfo['tmp_name']),];$savekey = $upload['savekey'];$savekey = str_replace(array_keys($replaceArr), array_values($replaceArr), $savekey);$uploadDir = substr($savekey, 0, strripos($savekey, '/') + 1);$fileName = substr($savekey, strripos($savekey, '/') + 1);$splInfo = $file->validate(['size' => $size])->move(ROOT_PATH . '/public' . $uploadDir, $fileName);if ($splInfo) {$imagewidth = $imageheight = 0;if (in_array($suffix, ['gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf', 'mp4', 'mp3'])) {$imgInfo = getimagesize($splInfo->getPathname());$imagewidth = isset($imgInfo[0]) ? $imgInfo[0] : $imagewidth;$imageheight = isset($imgInfo[1]) ? $imgInfo[1] : $imageheight;}$params = array('admin_id'    => (int)$this->auth->id,'user_id'     => 0,'filesize'    => $fileInfo['size'],'imagewidth'  => $imagewidth,'imageheight' => $imageheight,'imagetype'   => $suffix,'imageframes' => 0,'mimetype'    => $fileInfo['type'],'url'         => $uploadDir . $splInfo->getSaveName(),'uploadtime'  => time(),'storage'     => 'local','sha1'        => $sha1,);$attachment = model("attachment");$attachment->data(array_filter($params));$attachment->save();\think\Hook::listen("upload_after", $attachment);$this->success(__('Upload successful'), null, ['url' => $uploadDir . $splInfo->getSaveName()]);} else {// 上传失败获取错误信息$this->error($file->getError());}}

最后fastadmin上传视频成功了!

fastadmin上传视频的操作相关推荐

  1. yii2.0使用ueditior完成上传单张,多张图片,上传视频等操作

    一.前言 由于工作需求需要集成富文本编辑器,本来是想要选用之前用过的WangEditor的,但是考虑到WangEditor还是比较小众,所以最终选择了没用过的Uedtor,这篇文章主要讲述了Yii2. ...

  2. Fastadmin 后台上传视频

    在FastAdmin官网中,[文档-组件-文件上传]中传介绍了文件的上传(本文围绕上传50M的视频文件进行说明),在阅读以下内容前,建议先了解关于文件上传中的data-mimetype和data-ma ...

  3. 基于fastadmin框架,上传视频,自动截取视频封面图

    最近用fastadmin开发了一个项目,需要用到视频的封面图片,客户又不能一一提供视频对应的封面,为减少工作量,需要在后台上传视频后直接生成默认封面图片,也可以自动上传想要的封面图片: 利用fasta ...

  4. php$上传_如何实现PHP上传视频的功能?(图文+视频)

    本篇文章主要给大家讲解PHP上传视频的具体实现方法. 实现PHP视频上传的功能,对于新手来说,可能有一定的难度.但是通过本篇文章的介绍,相信大家都能熟练掌握相关知识. 那么在之前的文章[PHP文件上传 ...

  5. WangEdit富文本编辑器增加上传视频功能

    乘着今天中午的时间 对以前项目的一个需求进行一定的处理 前天去了甲方公司 接到了了一个新的需求 就是可以把项目的一个富文本的编辑器可以设置为能够上传视频 于是乎 就要对vue里面的这个组件进行操作了 ...

  6. phpcms上传php,phpcms如何上传视频

    phpcms如何上传视频? phpcms-v9上传视频文件时的解决方案 1.不建议直接在后台上传视频文件,因为视频文件一般都比较大,直接上传影响带宽:可先通过ftp工具将视频文件上传到指定目录,然后再 ...

  7. 电脑字体模糊_小红书上传视频模糊?做小红书视频99%的工具都在这了

    到现在小红书视频号功能已经上线快三个月了,越来越多的小伙伴开始拍视频.创作视频笔记,但是对于新接触视频的小伙伴来说,拍摄视频好像是一件很难的事,特别是不清楚该选择什么拍摄设备.不知道怎么剪辑视频,还有 ...

  8. 使用阿里云视频点播上传视频

    目录 前言 一.目的 二.实现步骤 1.准备操作 2.主要使用模块 2.1. 上传音频 2.2. 添加转码设置 3.搭建视频点播环境 3.1.配置Maven仓库 3.2.添加jar依赖 3.3.上传视 ...

  9. 七牛云上传视频并转码

    概述: 很多用户使用七牛的云存储服务,存放很多mp4文件到七牛的存储空间,但是通过复制外链,然后在浏览器中播放,经常会遇到"只有音频,没有视频"的情况: 其实这个不是七牛的存储有问 ...

  10. 小红书笔记发布软件 批量上传视频

    百收网SEO短视频矩阵发布丨9平台视频发布助手 软件简述:软件仅支持win系统, 软件使用的是网页版模拟协议软件不绑定电脑,任意换机,不限登录账号数量, 软件支持抖音,快手,视频号,西瓜视频,百家号, ...

最新文章

  1. pandas索引复合索引dataframe数据、索引其中一个水平(level)的所特定数据行、指定数据行(index a row of a level)、使用元组tuple表达复合索引的指定行
  2. pku 1925 Spiderman DP
  3. $http中文乱码|param乱码|angular提交后台乱码|
  4. linux基础命令 sed
  5. _M_invoke(_Index_tuple_Indices...)
  6. 使用ssh免密码登录Linux服务器
  7. 网络层:IP协议详解(IP协议真的得看这篇)
  8. display:none和visiblity:hidden区别
  9. ubuntu 20.04 安装可编辑截图工具 flameshot
  10. mysql 主命令总结
  11. 背包问题 尽可能大和大于某个值 为什么是一样意思
  12. python整数运算定律_PHP 操作redis 详细讲解
  13. Android开发之ProgressBar控件(实现加载动画与条形进度条)
  14. 悬镜安全宣布完成数千万元Pre-A轮融资
  15. win10 如何设置眼睛保护色(绿色)
  16. 2020车载凯立德懒人包下载_【汽车导航升级】2020抖音最新流行音乐包 无损 可CD刻录福利分享...
  17. 威海市第四届ACM大赛感想
  18. 华为是怎样研发的(10)——知识管理
  19. JavaScript document对象
  20. 系列解读Dropout

热门文章

  1. jQuery源码结构
  2. 分子动力学模拟-gromacs的基本使用
  3. Python3安装turtle库(已成功安装)
  4. Visual Basic(VB6.0)精简版
  5. WPF介绍和一些基础操作
  6. 斐讯盒子T1_【YYF固件】夏杰语音实用版刷机固件及教程分享
  7. MySQL存数学符号,如何将数学符号保存到mysql或mssql数据库?
  8. C# winform开发的考试系统
  9. java 64位时间戳转换32位时间戳
  10. oracle spatial 数据导入_Oracle Spatial导入shp数据