小程序音频上传

文件上传js处理
在这里插入图片描述
php上传文件处理

<?php
 
//上传文件目录获取
$month = date('Ym',time());
$dir ="upload/".$month."/";
 
//初始化返回数组
$arr = array(
'code' => 0,
'msg'=> '',
'data' =>array(
     'src' => 'http://'.$_SERVER['HTTP_HOST'].'/11/'.$dir . $_FILES["file"]["name"]
     ),
);
 
$file_info = $_FILES['file'];
 $file_error = $file_info['error'];
if(!is_dir($dir))//判断目录是否存在
{
    mkdir ($dir,0777,true);//如果目录不存在则创建目录
};
$file = $dir.$_FILES["file"]["name"];
if(!file_exists($file))
{
if($file_error == 0){
        if(move_uploaded_file($_FILES["file"]["tmp_name"],$dir. $_FILES["file"]["name"])){
           $arr['msg'] ="上传成功";
        }else{
           $arr['msg'] = "上传失败";
        }
    }else{
        switch($file_error){
            case 1:
           $arr['msg'] ='上传文件超过了PHP配置文件中upload_max_filesize选项的值';
                break;
            case 2:
              $arr['msg'] ='超过了表单max_file_size限制的大小';
                break;
            case 3:
               $arr['msg'] ='文件部分被上传';
                break;
            case 4:
              $arr['msg'] ='没有选择上传文件';
                break;
            case 6:
                $arr['msg'] ='没有找到临时文件';
                break;
            case 7:
            case 8:
               $arr['msg'] = '系统错误';
                break;
        }
    }
}
else
{
   $arr['code'] ="1"; 
    $arr['msg'] = "当前目录中,文件".$file."已存在";
}
 
  echo json_encode($arr);
 
?> 

以下是uniapp小程序上传音频的步骤: 1.在页面中引入getBackgroundAudioManager API,用于录制和播放音频。 2.在页面中添加录音和上传音频的按钮,并为其绑定事件。 3.在录音按钮的事件处理函数中,调用getBackgroundAudioManager的startRecord方法开始录音。 4.在上传音频按钮的事件处理函数中,调用uni.uploadFile方法上传录音文件。 5.在上传成功的回调函数中,获取服务器返回的音频文件地址,并将其保存到页面数据中。 6.在页面中添加音频播放器,并为其设置src属性为保存的音频文件地址。 以下是示例代码: ```html <!--index.vue--> <template> <view class="container"> <button @tap="startRecord">开始录音</button> <button @tap="uploadAudio">上传音频</button> <audio :src="audioSrc" controls></audio> </view> </template> <script> export default { data() { return { audioSrc: '', // 音频文件地址 recorderManager: null // 录音管理器 } }, onLoad() { // 初始化录音管理器 this.recorderManager = uni.getRecorderManager() this.recorderManager.onStart(() => { console.log('录音开始') }) this.recorderManager.onStop(res => { console.log('录音结束', res) this.audioSrc = res.tempFilePath }) }, methods: { startRecord() { // 开始录音 this.recorderManager.start({ format: 'mp3' }) }, uploadAudio() { // 上传音频 uni.uploadFile({ url: 'https://example.com/upload', filePath: this.audioSrc, name: 'file', success: res => { console.log('上传成功', res) this.audioSrc = res.data // 保存音频文件地址 } }) } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值