Имам нужда от една помощ. Аз изпращам файл, използвайки Postman и трябва да го качите в изискваната папка, като използвате Node.js. Аз обяснявам кода си по-долу.
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
чийто екран е представен по-долу.
Тук моето изискване е файлът да се качи в изискваната папка i.e-uploads
и името на качвания файл ще се върне като отговор на потребителя. Моля, помогни ми.
Отговори:
3 за отговор № 1Вие не сте използвали Multer тук. Създали сте качване чрез 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
})
където качването ще бъде var upload = multer ({storage: storage}); променлива.