鍍金池/ 問答/HTML5  HTML/ nodejs 如何將微信獲取臨時(shí)素材接口中獲取到的音頻保存到服務(wù)器上?

nodejs 如何將微信獲取臨時(shí)素材接口中獲取到的音頻保存到服務(wù)器上?

我在微信前端將用戶錄音上傳到了微信的服務(wù)器,但是微信只能保存三天,我想用nodejs將我上傳的的這個(gè)臨時(shí)錄音保存到我的服務(wù)器上,我通過微信的獲取臨時(shí)素材接口獲取到了微信返回給我的內(nèi)容,可是我該如何將這些內(nèi)容保存成音頻文件到我的服務(wù)器上呢
以下是我調(diào)取微信接口的代碼:

        https.get('https://api.weixin.qq.com/cgi-bin/media/get?access_token='+access_token+'&media_id='+media_id, function(res) {
            res.on('data', function(chunk){
                downsize += chunk.length;
                downchunks.push(chunk);
            });
            res.on('end', function(){
                var downdata = Buffer.concat(downchunks, downsize);
                // 獲取到的微信返回的內(nèi)容
                console.log(downdata.toString())
                console.log(downdata)
            });

        }).on('error', function(e) {
            console.log("Got error: " + e.message);
        });
        

console.log內(nèi)容部分
clipboard.png

求大佬們指點(diǎn)一下~~萬分感謝

回答
編輯回答
懶豬

使用 request.pipe

request.get('.../file.jpg').pipe(request.post('...myserver/upload'))

2017年12月16日 00:37
編輯回答
怣痛

看打印的內(nèi)容有“AMR”標(biāo)記,所以猜應(yīng)該是個(gè)二進(jìn)制的amr音頻文件,直接打包到formData里傳到后臺吧。另外盡量別傳服務(wù)器,pv拉起來人多容易炸~可以考慮下對象存儲。

2017年2月6日 21:16
編輯回答
陌璃
        // 接收并轉(zhuǎn)為mp3
        var myP = new Promise(function (resolve, reject) {
            var stream = request('https://api.weixin.qq.com/cgi-bin/media/get?access_token='+access_token+'&media_id='+media_id).pipe(fs.createWriteStream('public/music/'+openid+'_music.amr'));
            stream.on('finish', function () {
                var command = ffmpeg('public/music/'+openid+'_music.amr')
                    .on('end', function() {
                        console.log('file has been converted succesfully');
                    })
                    .on('error', function(err) {
                        console.log('an error happened: ' + err.message);
                    })
                    .save('public/music2/'+openid+'_music.mp3');
                resolve("OK123");
            });
        });
        
       
2018年3月4日 21:50