2013-11-25 22 views
0

來執行插入語句如何解碼接收到的以Base64編碼形式接收的參數值並將其插入到數據庫中?如何通過將Base64解碼爲Express

這是我試過的。

  • 根據這個我收到來自客戶端收到的 參數值的方式一個值,並插入到服務器(我已經收到請求 在POST)
  • 沒有base64編碼都是在這裏完成

我目前使用的是這段代碼:

var express = require('express') 
, async = require('async') 
, http = require('http') 
, mysql = require('mysql'); 

var app = express(); 

var connection = mysql.createConnection({ 
    host: 'localhost', 
    user: '******', 
    password: "******", 
    database: 'posting_information_DB' 
}); 

connection.connect(); 

// all environments 
app.set('port', process.env.PORT || 1234); 

app.use(express.static(__dirname + '/public/images')); 


app.post('/Name/',function(request,response,next){ 


app.use(express.bodyParser()); 

    var keyName=request.query.Key; 
    var name_of_restaurants; 
    async.series([ 

     function(callback) { 

      connection.query('INSERT INTO details (name) VALUES (?)', [keyName], function (err, rows, fields) 
       { 
         console.log('Connection result error ' + err);   
         callback(); 
       }); 
     } 

    // Send the response 
]); 
}); 


http.createServer(app).listen(app.get('port'), function(){ 
console.log('Express server listening on port ' + app.get('port')); 
}); 

我在做什麼!

  • 現在有什麼改變,我應該需要作出這樣當我需要免費獲贈 imagestring兩個PARAM值
  • 這些值是編碼
  • 如何將這些Base64編碼這裏解碼Base64編碼,然後將檢索參數 值到數據庫

如何修改我發佈的Express代碼!

謝謝!

+1

你可以用一個緩衝對象解碼的base64:'新的緩衝區(b64string「的base64」)的toString(「二進制」)' –

+0

@邁克爾唐.....你可以編輯代碼與您的解決方案。作爲你的答案? .....我是一個新手! – Devrath

+2

另外,我想你是在濫用caolan的異步庫。您可能需要爲async.series調用本身定義一個回調函數,以便在查詢完成後執行操作。請查看[documentation](https://github.com/caolan/async#series)。然而,由於您只有一個串行異步函數,並且您已經在使用它的回調函數,所以您可能甚至不需要異步庫(只需將'res.send()'或類似的東西粘貼到查詢回調函數中即可)。 –

回答