我想从html页面上传文件,并使用node.js将其存储在mongodb数据库中,并使用multer
npm包作为客户端和服务器之间的中间件
下面是我的 app.js 文件:
var express = require('express')
, multer = require('multer');
var app = express();
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './uploads');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var upload = multer({ storage : storage}).single('userPhoto');
app.post('/api/photo',function(req,res){
upload(req,res,function(err) {
if(err) {
return res.end("Error uploading file.");
}
res.end("File is uploaded");
});
});
HTML 表单是:
<form id="uploadForm" enctype="multipart/form-data" action="/api/photo" method="post">
<div class="azureD" style="display:none;">
<div class="pull-left">
<label class="labelTemp">Subscription ID</label>
<div class="clickRole addStoTabWid">
<input type="text" id="" placeholder="" style="border:none;width:100%;">
</div>
</div>
<div class="pull-left">
<label class="labelTemp">Upload .pem file</label>
<div class="clickRole addStoTabWid">
<input type="file" name="userPhoto" id="" placeholder="" style="border:none;width:100%;">
</div>
</div>
<div class="modal-footer">
</br><!--<a class="cancelPoup">Cancel</a>
<button class="redButton">Create</button>-->
<input type="submit" value="Upload Image" name="submit">
</div>
</form>
我想将用户选择的文件上传到 mongodb 或本地磁盘,请帮我解决这个问题吗?
它给出的是文件作为结果上传,但它没有上传到文件夹中,并且在node.js控制台中我得到“.write(字符串,编码,偏移量,长度)已被弃用。使用write(字符串[,偏移量[ , 长度]][, 编码]) 代替。multer"
最佳答案
您始终可以使用mongoose
来保存文件信息。为 schema
准备 schema
调用并执行此操作
//call for the mongoose schema
//example :var emp = require('../models/employees.js');
app.post('/api/photo', function(req, res) {
upload(req, res, function(err) {
if (err) {
return res.end("Error uploading file.");
}
var upl = new emp({
picture: req.file.originalname
}); //creating object the mongoose schema
upl.save(function(err, docs) {
if (err) {
console.log(err);
}
res.json(docs);
});
res.end("File is uploaded");
});
});
关于javascript - 如何使用node.js上传文件并将其存储在mongodb中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428698/