【发布时间】:2016-04-05 14:05:28
【问题描述】:
我想从 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(string, encoding, offset, length) 已被弃用。使用 write(string[, offset[ , 长度]][, 编码]) 代替。multer"
【问题讨论】:
标签: javascript node.js mongodb express multer