/ / Como obter o arquivo e enviá-lo usando Node.js e Postman - node.js, carteiro, multer

Como obter o arquivo e enviá-lo usando Node.js e Postman - node.js, carteiro, multer

Eu preciso de uma ajuda. Estou enviando arquivo usando o Postman e preciso carregá-lo dentro da pasta necessária usando o Node.js. Eu estou explicando meu código abaixo.

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

Na verdade, estou postando o arquivo usando postman cuja captura de tela é fornecida abaixo.

insira a descrição da imagem aqui

Aqui minha exigência é o arquivo será enviado para a pasta necessária i.e-uploads e o nome do arquivo carregado retornará como resposta ao usuário. Por favor me ajude.

Respostas:

3 para resposta № 1

Você não usou o multer aqui. Você criou o upload usando o material, mas não o usou.

Tente o seguinte código:

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

onde o upload será o var upload = multer ({storage: storage}); variável.