mysql如何上传音频文件_关于音频文件的上传
图片,音频其实都是文件,只是格式不一样罢了。
格式不一样,程序能检测到的信息就不一样。
比如,图片能检测到宽高。音频则检测不到。
上传它们的时候,根据不同点,进行微调就可以了。
录音:
支持mp3格式,wav格式
上传录音文件
查看录音
(未上传)
后台进行处理
大致处理过程如下:
1.上传至本地服务器
2.上传至云服务器(比如七牛)
3.删除本地服务器文件
4.保存七牛服务器的文件路径至数据库
漏了一步,上传本地服务器之前,进行过滤处理,包括判断大小是否超出,判断类型是否符合等等。
上传到本地的时候,首先要确保文件夹存储,然后确认文件名称不能重复。通常都是使用日期加随机数来避免重复。
如果文件夹不存在,则创建文件夹,并赋予777权限。一切程序都是无敌的,可以调用系统底层的代码,可以创建文件夹和赋予权限。
/**
* @param $folders 文件夹名称
* @param string $name 文件名称
* @param float|int $max_size 最大文件大小
* @param array $allowExts 允许上传的类型
* @return mixed
*/
public function upload_audio($folders, $name = 'file' ,$max_size = 1024000 * 50 ,$allowExts = ['mp3','wav']){
if($_FILES[$name]['size'] > $max_size){
$res['error'] = '音频大小不能超过50M!';
return $res;
}
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->allowExts = $allowExts; // 允许上传的文件格式
$upload->maxSize = $max_size; // 设置附件上传大小
$upload->saveRule = time().'_'.mt_rand();
$date_folders = date('Ymd',time());
$upload->savePath = "site_upload/".$folders.'/'.$date_folders.'/';// 设置附件上传目录
if (!is_dir($upload->savePath)){
@mkdir('./'.$upload->savePath, 0777,true);
}
$upload->upload();
$info = $upload->getUploadFileInfo();//取得成功上传的文件信息
if($info){
vendor('Func.Func');
vendor('Qiniu.Qiniu');
$qiniu = new Qiniu();
$file = C('SF_HOST'). $upload->savePath . $info[0]['savename'];
$ext = pathinfo($file, PATHINFO_EXTENSION);
$name = time() . mt_rand() . '.' . $ext;
$success = $qiniu->up($file, $name, C('QINIU.BUCKET'));
if($success){
@unlink('./' .$info[0]['savepath'] . $info[0]['savename']);
$res['msg']='ok';
$res['save_name'] = C('CDN.URI') . $name;
}else{
@unlink('./' .$info[0]['savepath'] . $info[0]['savename']);
$res['error'] = '上传失败!!';
}
}else{
$res['error']='上传失败!!';
}
return $res;
}
下面是七牛的up方法,
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;
class Qiniu
{
public function up($file, $name, $bucketName = '51aitaoqi')
{
$accessKey = C('QINIU.ACCESS_KEY');
$secretKey = C('QINIU.SECRET_KEY');
$upManager = new UploadManager();
$auth = new Auth($accessKey, $secretKey);
$token = $auth->uploadToken($bucketName);
list($ret, $error) = $upManager->put($token, $name, file_get_contents($file));
if (!$error) {
return $ret;
} else {
return false;
}
}
}
经过这些折腾,音频上传成功了!
mysql如何上传音频文件_关于音频文件的上传相关推荐
- linux禁止客户端上传文件_实战 FastDFS Java 客户端上传文件
FastDFS 服务端安装参考文章:分布式文件系统之 FastDFS 安装 FastDFS Java 客户端 先从 GitHub 上将项目源码克隆下来: $ git clone https://git ...
- python实现文件上传和下载_[Python] socket实现TFTP上传和下载
一.说明 本文主要基于socket实现TFTP文件上传与下载. 测试环境:Win10/Python3.5/tftpd64. tftpd下载:根据自己的环境选择下载,地址 :http://tftpd32 ...
- tomcat temp 大量 upload 文件_渗透测试之文件上传漏洞总结
文末下载上传环境源码 客户端 js检查 一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式. 查看源代码可以看到有如下代码对上传文件类型进行了限制: 我们 ...
- JAVA 文件上传格式限制_关于servlet文件上传限制文件大小的问题,求高手帮忙
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先,能上传900多K的文件1M以上的文件上传不了,我也试着修改限制文件上传的大小,但是设置完了,还是有错误,代码和错误如下: upload2 DiskF ...
- java web上传视频文件_怎样使用javaweb实现上传视频和下载功能?
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> My JSP 'index.jsp' starting page ...
- 如何向icloud上传文件_怎么把文件上传到icloud
1.苹果手机文档怎么传输到 icloud drive 尽管苹果为 OS X/Windows 提供了完整的 iCloud Drive 文件访问,但这在 iPhone/iPad 上却做不到.如果你希望访问 ...
- java 批量上传pdf文件_使用fileinput插件批量上传文件
使用fileinput插件批量上传文件 前言 最近在做项目的时候涉及文件批量上传,使用bootstrap结合fileinput插件批量上传文件!以下是我在使用fileinput上传文件的过程.项目是基 ...
- exo文件_您在eXo平台上的第一个Juzu Portlet
exo文件 菊珠是佛教的佛珠. 一句话,我相信您已经学到了什么,印象深刻吗? 好吧,我在这里不谈论佛教. Juzu还是一个用于快速开发Portlet(以及即将推出的独立应用程序)的新框架. 您可以在J ...
- 电脑手机wifi互传文件_安卓手机文件互传
怎么不借用第三方工具,安卓手机实现相互文件快传呢? 苹果: 首先不用多说,苹果可以使用Air Drop功能,苹果全家桶可以无障碍互传. 长期以来,除开微信和QQ,不同品牌安卓手机互传文件依靠的途径只有 ...
- iphone 传android,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...
一直以来,很多的app都是分为安卓和IOS两个版本,在使用上,两个平台之间很多功能都不能跨平台使用.比如大家在玩游戏时充值的东西,在苹果充值之后,同一个账号转到安卓手机上玩,那些东西都是不能迁移进来的 ...
最新文章
- Vagrant安装指南
- java 定义类变量初始化吗_Java的变量有哪些类型?变量如何定义?如何初始化?请说明理由并举例_学小易找答案...
- Shell数组相关操作
- python bool值要注意的一些地方
- 计算机基础知识离线作业答案,浙大远程教育计算机离线作业1.计算机基础知识题...
- nfc sim android8,Android NFC相关资料之MifareClassic卡(读写)
- 基于JAVA+SpringMVC+MYSQL的人事管理系统
- java 怎样 thread dump_怎样分析 JAVA 的 Thread Dumps
- 17.Mac Ctags 使用
- Python自然语言处理学习笔记(60):7.1 信息抽取
- 【OpenCV教程】第一章 Mac上的安装和初步使用
- android 获取路由器id,华为路由器从旧路由获取宽带帐号和密码具体教程
- Android应用中打开百度地图、高德地图、网页版百度地图
- java BMI体重测量代码
- 什么是域名系统或 DNS?
- 【黑马程序员】vue学习笔记(未完)
- vue 中 keep-alive,activated,deactivated
- LeetCode-2206. 将数组划分成相等数对_Python
- Java学习--狼人杀
- 计算机专业毕业设计—JAVA语言系统设计(共80套打包)
热门文章
- 装了Restorator,打开应用程序,提示不支持此接口的解决方法
- SQL(09)_UNIQUE 约束
- “开心偷菜”一梦8年终成空,终究还是输给了时间和规则!
- MIDI音乐编程那些事儿
- 怎么申请https证书
- go 实现从服务器导出excel 到浏览器
- 夯实数据库根科技,提升企业数智化转型的“人效”和“能效” | 数据猿
- 微软新的邮件帐户域名 @live.com和@windowslive.com
- 洛谷刷题笔记 最高分数的学生姓名
- 2018年最新电子科技大学TCP/IP协议原理(杨宁)CSF视频教程42讲