base64转换mp3文件,在服务器端(nodejs)反编码命名保存


/**
 * Created with JetBrains WebStorm.
 * User: vasdaq
 * Date: 13-12-30
 * Time: 下午4:36
 * To change this template use File | Settings | File Templates.
 */

var fs = require('fs');                                                                    
var model=require('../model/upldModel.js');                           //model模块
var util=require('../model/util.js');
var EventProxy =require('eventproxy').EventProxy;
var i18n = require('i18n');
var querystring = require('querystring');

exports.upld = function(req, res){
    i18n.setLocale(req.language);
    var method = req.method.toLowerCase();

    var videoID={videoID:req.body.vdoID};
    var mp3Data={mp3Data:req.body.mp3Data};
    var voiceName={voiceName:req.body.voiceName};
    var voiceAuthor={voiceAuthor:req.body.voiceAuthor};

    mp3Data = querystring.unescape(mp3Data.mp3Data);
    var base64_Data = mp3Data.replace(/^data:audio\/\w+;base64,/,"");
    var dataBuffer = new Buffer(base64_Data, 'base64');
    var now =Date.now();//获取系统当前时间数值
    var savePath = './public/audio/' +videoID.videoID+'_'+voiceAuthor.voiceAuthor+'_'+now+'.mp3';//服务器存储文件名
    var voicePath = '/audio/' +videoID.videoID+'_'+voiceAuthor.voiceAuthor+'_'+now+'.mp3';//数据库存储名

    fs.writeFile(savePath,dataBuffer,function(err){
        if(err){
            console.log(err);
//            res.send({tip:'上传失败,请再次尝试',backUrl:'/record.html'});
        }else{

        }
    });

//    console.log(videoID);
//    console.log(mp3Data);
//    console.log(voicePath);

    var proxy = new EventProxy();
    var up = function(result){
//        console.log(result.bl);
        if(method === "post"){
            res.send({result:result.bl,backUrl:'/record.html'});
        }
    };
    proxy.assign("result",up);
    model.upldBind(voiceName.voiceName,videoID.videoID,voicePath,voiceAuthor.voiceAuthor,function(result){
        proxy.trigger("result",result);
    });

};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值