2017-08-19 23 views
0

私は助けが必要です。 Postmanを使用してファイルを送信しています.Node.jsを使用して必要なフォルダにアップロードする必要があります。私は以下のコードを説明しています。Node.jsとPostmanを使用してファイルを取得してアップロードする方法

server.js:

var express=require('express'); 
var morgan = require('morgan'); 
var http=require('http'); 
var bodyParser= require('body-parser'); 
var methodOverride = require('method-override'); 
var mongo = require('mongojs'); 
var session = require('express-session'); 
var app=module.exports=express(); 
var server=http.Server(app); 
var port=8889; 
var api=require('./api/api.js'); 
app.use(express.static(__dirname + '/public'));  // set the static files location /public/img will be /img for users 
app.use(morgan('dev'));      // log every request to the console 
app.use(bodyParser.urlencoded({ extended: false,limit: '5mb' })) // parse application/x-www-form-urlencoded 
app.use(bodyParser.json({limit: '5mb'})) // parse application/json 
app.use(methodOverride());  
app.post('/upload',api.upload);  
server.listen(port); 
console.log("Server is running on the port"+port); 

api.js:

var multer = require('multer'); 
var storage =multer.diskStorage({ 
    destination: function (req, file, callback) { 
    callback(null, './../uploads'); 
    }, 
    filename: function (req, file, callback) { 
    callback(null, Date.now()+'-'+file.originalname); 
    } 
}); 
var upload = multer({ storage: storage}); 
exports.upload=function(req,res){ 
} 

は、実際に私は、そのスクリーンショット以下の通りであるpostmanを使用してファイルを掲示しています。

enter image description here

ここに私の要件は、必要なフォルダi.e-uploadsとユーザへの応答として返されますアップロードされたファイル名にアップロードするファイルです。私を助けてください。

+0

'server.js'の最後の行に' app.listen(port) 'を追加しましたか? –

+0

はい編集することができます – subhra

+0

@ Mr.D:私は自分の投稿を更新しました。何か解決策はありますか? – subhra

答えて

3

ここでは、実際に使用していません。あなたはmulterを使用してアップロードを作成しましたが、あなたはそれを使用しませんでした。アップロードがVARアップロード= multer({ストレージ:ストレージ})であろう

app.post('/upload', upload.single('file'), function (req, res, next) { 
    // req.file is the `file` file 
    // req.body will hold the text fields, if there were any 
}) 

次のコードを試してください。変数。

+0

アップロードされたファイル名を返信するにはどうすればよいですか? – subhra

+0

アップロードファイルのすべての詳細はreq.fileで利用できます。 –

+0

私はこの 'app.post( '/ upload'、upload.single( 'file')、function(req、res、next){ var data = {'filename':res.req.file.filename} ; res.send(data); }) ')しかし、応答を送信しません。 – subhra

関連する問題