0
我正在研究基於Node.js/MongoDB的網站,我試圖直接在服務器上使用Express,Jade和Multer上傳圖像,但無論我做什麼,我都可以'用擴展名上傳文件。Multer沒有添加文件擴展名
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
var upload = multer({ storage: storage });
var app = express();
mongoose.connect("mongodb://localhost/primera_pagina");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(multer({dest: "./uploads"}).single("image_avatar"));
var productSchema = {
title:String,
description:String,
imageURL:String,
pricing:Number
};
var Product = mongoose.model("Product", productSchema);
app.set("view engine","jade");
app.use(express.static("public"));
app.get("/",function(req,res){
res.render("index");
});
app.post("/productos",function(req,res){
if(req.body.password == "123"){
var data = {
title: req.body.title,
description: req.body.description,
imageURL: "image_avatar",
pricing: req.body.pricing
}
var product = new Product(data);
console.log(req.file)
}else{
res.render("index");
}
});
app.get("/productos/new",function(req,res){
res.render("productos/new");
});
app.listen(8080);
任何想法:
我已經在我的app.js文件得到這個?我在互聯網上搜索並嘗試使用各種方法來添加文件擴展名,但沒有任何工作。
感謝您的幫助,但再一次,不工作...這是我在日誌文件中得到的:{fieldname:'image_avatar', originalname:'Tuka_Icono-02.png', encoding:' 7位 ' MIME類型: '圖像/ PNG', 目的地:' ./uploads', 文件名: 'bcebdd2d2b44256872177047259d0100', 路徑: '上傳/ bcebdd2d2b44256872177047259d0100', 大小:22538} –
我想你可以推斷出擴展從MIME類型,然後使用https://www.npmjs.com/package/mime-types。我已經更新了我的答案。 –
這不起作用。再次我的日誌文件:文件名:'29704301c5375e3f0c3ac139c6993df5',也許在我的app.js其他地方有什麼錯? –