hinzufügen Ich bin neu in Node.JS Entwicklung. Vor kurzem habe ich dieses Problem zu kämpfen: Ich möchte Foto in "/ uploads" Verzeichnis in meinem Projekt hochladen. Ich habe das Foto alleine hinzugefügt. Aber wenn es darum geht, einen Foto-Server hinzuzufügen und seinen Standortpfad mit der Eigentümer-ID und Beschreibung des Fotos zu Mysql DB zu speichern, habe ich es nicht geschafft. Ich weiß, dass Multer nur mehrteilige Daten akzeptiert.Wie Standort Pfad zu Mysql DB mit Hilfe von Multer in Node.JS
Hier ist mein node.js Code
var models = require('../../models');
var express = require('express');
var router = express.Router();
var multer = require('multer');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit:'50mb'}));
app.use(bodyParser.urlencoded({extended:true, limit:'50mb'}));
const uuidv1 = require('uuid/v1');
var owner_id;
var description;
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
const photo_id = uuidv1();
cb(null, photo_id + '.jpg');
addPhotoToDb(photo_id,owner_id,description);
}
});
function addPhotoToDb(photo_id,owner_id,description) {
models.PHOTOS.create({
photo_id: photo_id,
description: description,
owner_id: owner_id,
location_path: 'uploads/' + photo_id + '.jpg'
})
}
var upload = multer({ storage: storage }).single('photo');
router.post('/upload', function (req, res) {
//This part is problematic I tried so many things
//owner_id=req.files
//description=req.files
upload(req, res, function (err) {
if (err) {
}
res.json({
success: true,
message: 'Image uploaded!'
});
})
});
module.exports = router;
Auch in Postman Ich schicke Anfrage wie folgt aus: https://i.stack.imgur.com/04Qz1.png
Die andere seltsame Tatsache, wenn ich Multipart/Form-Daten wählen, gibt es nichts passiert. Wenn ich keinen Inhaltstyp wähle, funktioniert es. https://i.imgur.com/83QSjKg.png –
Vielleicht hängt es von der Version des Postboten ab, aber was Sie sicher überprüfen können, ist, das Protokoll zu loggen, was der Wert von req.headers ['content-type'] ist der Callback der Funktion Upload wenn Sie nichts als "Content-Type" setzen. –