2017-12-04 3 views
0

Ich möchte Datei vom Briefträger zu Knoten js hochladen, aber ich habe ein Problem. POSTMAN schreiben url, überprüfen post-Methode, überprüfen form-data, Datei, den Dateinamen schreiben und wählen Sie Datei Das ist mein Code ist app.jsWie kann ich eine Datei vom Postboten zum Knoten js schicken?

const express = require('express'); 
const bodyParser = require('body-parser'); 
const fileUpload = require('express-fileupload'); 

app.use(fileUpload()); 
app.use(bodyParser.urlencoded({extended: false})); 
app.use(bodyParser.json()); 

router.js

router.post('/schedule/entry', function(req,res){ 
    console.log(req.file.name); 
}); 

Console mich nicht definiert Namen zurückgeben, wenn ich diesen Code schreiben

router.post('/schedule/entry', function(req,res){ 
    console.log(req.file); 
}); 

Return 'undefined' Warum?

package.json

{ 
    "name": "nodejs-rest-api-authentication", 
    "version": "1.0.0", 
    "description": "", 
    "main": "app.js", 
    "scripts": { 
    "start": "node server.js", 
    "test": "echo \"Error: no test specified\" && exit 1" 
}, 
"author": "", 
"license": "ISC", 
"dependencies": { 
    "bcryptjs": "^2.4.3", 
    "body-parser": "^1.16.1", 
    "csv-array": "0.0.22", 
    "csv-write-stream": "^2.0.0", 
    "express": "^4.14.1", 
    "express-fileupload": "^0.3.0", 
"fast-csv": "^2.4.1", 
"formidable": "^1.1.1", 
"json2csv": "^3.11.5", 
"jsonwebtoken": "^8.1.0", 
"mysql": "^2.15.0" 
    } 
} 

server.js

const app = require('./app'); 
const port = process.env.PORT || 3000; 

const server = app.listen(port, function() { 
console.log('Server listening on port ' + port); 
}); 

screenshots screenshots

codeGit

+1

Was ist drin 'req'? –

+0

Sie haben nicht gezeigt, was Sie in "Postboten" tun ... also, raten wir? –

+0

Was interessiert Sie? –

Antwort

0

Auf der Grundlage der Diskussion im Kommentarbereich:

const express = require('express') 
const app = express() 
const formidable = require('formidable') 
const path = require('path') 
const uploadDir = '' // uploading the file to the same path as app.js 

app.post('/', (req, res) =>{ 
    var form = new formidable.IncomingForm() 
    form.multiples = true 
    form.keepExtensions = true 
    form.uploadDir = uploadDir 
    form.parse(req, (err, fields, files) => { 
    if (err) return res.status(500).json({ error: err }) 
    res.status(200).json({ uploaded: true }) 
    }) 
    form.on('fileBegin', function (name, file) { 
    const [fileName, fileExt] = file.name.split('.') 
    file.path = path.join(uploadDir, `${fileName}_${new Date().getTime()}.${fileExt}`) 
    }) 
}); 


app.listen(3000,() => console.log('Example app listening on port 3000!')) 

Befestigt Screenshots enter image description here: enter image description here

enter image description here

+0

Wenn ich Anfrage an Postbote, POSTMAN laden und Code form.parse nicht angemeldet bin. Ich nicht jetzt. Wo ist mein Problem? –

+0

Können Sie Ihre packages.json von der Codebasis teilen und ich kann versuchen, das gleiche an meinem Ende zu replizieren? –

+0

auch Ihre app.js & server.js bitte –

Verwandte Themen