2016-09-27 92 views
0

我想通過node.js構建api服務器。
我想將圖像文件發佈到我的api服務器。如何接收圖像文件到api服務器(Node.js)

我能夠在我的代碼
寫GET方法邏輯,但是,我不知道寫POST方法的邏輯。
plase幫我

↓我的代碼(node.js的)

// preprocessing 
    // import library 
    var express = require('express'); 
    var app  = express(); 
    var bodyParser = require('body-parser'); 
    var fs   = require('fs'); 
    // post setting 
    app.use(bodyParser.urlencoded({ extended: true })); 
    app.use(bodyParser.json()); 
    // port setting 
    var port = process.env.PORT || 3000; 
    // express setting 
    var router = express.Router(); 
    router.use(function(req, res, next) { 
     console.log('Something is happening.'); 
     next(); 
    }); 

// main 
// GET method 
router.get('/', function(req, res) { 
    res.json({ message: 'Hello World' }); 
}); 
// POST method 
router.route('/image') 
    .post(function(req1, res1) { 
     res1.json({image : req1.body}); 
    }); 

    // routing 
    app.use('/api/v1', router); 
    // start server 
    app.listen(port); 
    console.log('listen on port ' + port); 

↓TES curl命令(GET)

curl -k -x GET "http://XXX/api/v1" 

↓捲曲結果(GET)

"message" :"Hello World" 

↓測試卷曲命令(POST)

curl -k -X POST -F "[email protected]" "http://XXXX/api/v1/image" 

↓捲曲結果(POST)

"image" :"" 
+0

所有事情的標準答案node.js文件上傳:讓你的生活更輕鬆,並使用[MULTER](https://github.com/expressjs/multer) – cviejo

+0

>> cviejo謝謝你的評論。我嘗試使用慕尼黑 –

回答

0

客戶端

<form action="/pictures/upload" method="POST" enctype="multipart/form-data"> 
    Select an image to upload: 
    <input type="file" name="image"> 
    <input type="submit" value="Upload Image"> 
</form> 

服務器側使用multer包和寫入交路線如下

var express = require('express') 
    , router = express.Router() 
    , multer = require('multer') 

var uploading = multer({ 
    dest: __dirname + '../public/uploads/', 
}) 

router.post('/upload', uploading, function(req, res) { 

}) 

module.exports = router 

for more detail take a look at this link image example

+0

> > Vora Ankit 謝謝你告訴我。我會檢查鏈接。 –