0
我是Node.JS開發人員中的新成員。最近我一直在努力解決這個問題:我想將照片上傳到我的項目中的「/ uploads」目錄中。我已經單獨添加了照片。但是,當它添加照片服務器並將照片所有者ID和描述保存到Mysql數據庫時,我沒有做到這一點。我知道Multer只接受多部分形式的數據。如何在Node.JS中使用Multer將位置路徑添加到Mysql數據庫
這裏是我的Node.js代碼
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;
此外,在郵差,我發送請求這樣的: https://i.stack.imgur.com/04Qz1.png
另一個奇怪的事實是,當我選擇multipart/form-data時沒有任何反應。當我選擇什麼內容類型它的作品。 https://i.imgur.com/83QSjKg.png –
也許它取決於郵差的版本,但你可以肯定地檢查的是控制檯日誌req.headers ['content-type']的值是什麼後當您將任何內容放入「content-type」時,函數上傳的回調。 –