1. 程式人生 > >base64轉換mp3檔案,在伺服器端(nodejs)反編碼命名儲存

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);
    });

};

相關推薦

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

利用socket技術實現用java實現客戶向服務傳送檔案伺服器接收檔案並給出一個響應。

通訊是網路程式設計中重要的組成部分,而socket程式設計是網路程式設計的基礎。利用socket可以實現客戶端和伺服器端的通訊。下面我先把客戶端和伺服器端的程式碼粘上去再進行詳細的分析。 package test1; import java.io.File; import java.io

DataTables的伺服器SpringMVC分頁模式

Datatables是一款jquery表格外掛。它是一個高度靈活的工具,可以將任何HTML表格新增高階的互動功能。 分頁,即時搜尋和排序 幾乎支援任何資料來源:DOM, javascript, Ajax 和 伺服器處理 支援不同主題 DataTables, jQuery UI, Bo

PhotonServer伺服器

目錄 7.nhibernate程式包的引入(我上傳的資源裡面有此版本的nhibernate程式包) 8.nhibernate資料庫連線配置 9.進行類和表的對映 10.建立會話session進行新增操作 11.利用NHibernate進行事務操作  12.建立NHi

Photon Server伺服器

目錄 1.控制檯應用程式跟MySQL建立連線        新增引用MySql.Data.dll             記得引入名稱空間:using MySql.Data.MySqlClient; static void Main(

node建立客戶伺服器HTTP

Transfer-Encoding: chunked   在我用telnet登入伺服器的時候,伺服器返回資訊如下。   其中,我們看到這樣一條相應–Transfer-Encoding: chunked。Transfer-Encoding頭資訊的預設值是c

linux下通訊伺服器普通

#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <stdlib.h> #include <arpa/inet.h&

VideoCapture 讀取視訊檔案顯示視訊資訊

#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include

Python解密網易雲音樂.ncm檔案將.ncm檔案轉換為.mp3檔案實現隨處播放另附C++已編譯轉換

網易雲音樂把.mp3音樂檔案加密為.ncm檔案,導致不能將下載好的音樂複製到其它裝置或使用非網易雲音樂播放器播放,該程式可將.ncm檔案逆向解密為.mp3檔案並保留最高音質。 另有C++已編譯.exe轉換器,將.ncm檔案拖到.exe上直接執行轉換,生成.mp3檔案在.ncm檔案相同路徑。點選下

使用HttpClient4實現檔案上傳請求的傳送伺服器以MultipartFile形式接收附依賴jar包地址

今天學習使用了HttpClient4.2向服務端傳送上傳檔案的post請求,由於伺服器端採用MultipartFile形式接收,查詢資料後決定使用HttpClient4.2實現,以下是實現程式碼(僅作測試使用): public void testtask

【隨堂筆記】unity中socket用法伺服器執行緒的使用

手機專案,最好不要使用執行緒,因為unity專門提供了協程,枝執行緒不能訪問主執行緒(ui) 手機使用執行緒,容易導致硬體出問題 執行緒測試程式碼 /// <summary> /// 執行緒的測試方法 /// </summary>

MySQL多例項的環境下伺服器本地連線到指定例項的問題sock方式連線

涉及到sock連線的問題。 為了測試MySQL的某些個特性,在一個機器上安裝了多個MySQL的例項,如下截圖,有兩個例項,一個埠是8000,一個埠是8001。在使用mysql -uroot -p -P8001連線至埠號為8001的MySQL例項的時候,show variables like '%po

flask 伺服器上面下載多個檔案 客戶一次性上傳多個檔案

  #encoding=utf8 import flask,os,sys,time from flask import request,send_from_directory import multiEmbeddings  import tensorflow as tf &n

客服方式get請求帶中文伺服器接收解析是出現亂碼

中文亂碼處理 發生中文亂碼的三種情況及解決方案   表單form(傳送端分別採用get、post方式,接收端對應的解決辦法)  post:在接收的地方新增request.setCharacterEnc

Windows下搭建git伺服器簡潔版伺服器msysgit加copssh客戶msysgit原創

在看了網上各種攻略之後,自己在windows環境下還是遇到了各種各樣的問題,什麼permission deny啊等等,去網上找解決方案呢,尼瑪找不到一個適用的,在折騰了一天後,終於搞定,在這裡上傳一篇解決方案,為遇到同樣問題的人提供一個參考,願你看到後能少走一些

用Xftp上傳檔案伺服器出錯提示錯誤14

如題,想要將本機資料夾A使用Xftp上傳到伺服器(Linux系統)資料夾B中,上傳失敗,出現錯誤(14) 解決辦法:在伺服器中將資料夾B許可權更改,在終端中執行命令:chmod 777 資料夾B的檔名(注意三個引數中間用空格隔開) 還有一種情況是你當前傳輸的資料夾在伺服器

TCP程式設計例三:從客戶傳送檔案伺服器伺服器儲存到本地並返回“傳送成功”給客戶

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.i

git在本地倉庫直接使用rm徹底刪除檔案服務還是存在。已解決

原文地址:http://www.pizida.com/git-rm.html 本地倉庫:A和B 伺服器:C 今天在本地倉庫A希望刪除一個檔案test,於是執行以下命令: 1 2 3 4 $ sudo rm test $ git add . $ git commit -m "delete tes

Android 音視頻深入 十四 FFmpeg與OpenSL ES 播放mp3音樂能暫停附源碼

FFmpeg OpenSL ES 項目地址https://github.com/979451341/FFmpegOpenslES 這次說的是FFmpeg解碼mp3,數據給OpenSL ES播放,並且能夠暫停。1.創建引擎 slCreateEngine(&engineObject,0,NULL,

使用base64上傳檔案後臺轉為MultipartFile

通常情況下,上傳檔案時,使用的都是file型別。我們再java後臺應用只需要使用MultipartFile接收就可以了。有的時候,或許我們也會遇到使用base64進行檔案上傳。今天,我們一起學習下後臺 應該如何處理這樣的情況。 由於MultipartFile的實現類都不太適用於base64的上傳