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 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ď č. 1V 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é.