/ / Ako získať súbor a nahrať ho pomocou Node.js a Postman - node.js, poštár, multer

Ako sa dostať súbor a nahrať pomocou Node.js a poštár - node.js, poštár, multer

Potrebujem jednu pomoc. Posielam súbor pomocou služby Postman a potrebujem ho nahrať do požadovaného priečinka pomocou aplikácie Node.js. Vysvetľujem svoj kód nižšie.

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

Vlastne posielam súbor pomocou postman ktorého obraz obrazovky je uvedený nižšie.

tu zadajte popis obrázku

Tu je mojou požiadavkou, aby bol súbor nahrať do požadovaného priečinka i.e-uploads a odovzdaný názov súboru sa vráti ako odpoveď na používateľa. Prosím pomôžte mi.

odpovede:

3 pre odpoveď č. 1

V skutočnosti ste nepoužívali multer tu. Vytvorili ste nahrávanie pomocou multer, ale nepoužili ste ho.

Vyskúšajte nasledujúci kód:

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

kde upload bude var upload = multer ({storage: storage}); variabilné.