Nodejs实现图片上传,链接保存到Mongodb数据库
【摘要】
需求: 客户端批量上传图片到服务器,服务器返回图片链接
用到的主要工具及node库有 multer mongoose
代码如下
var router = require('express').Router()var projectInfo = require('../projectInfo.json')var mult...
需求: 客户端批量上传图片到服务器,服务器返回图片链接
用到的主要工具及node库有 multer mongoose
代码如下
-
var router = require('express').Router()
-
var projectInfo = require('../projectInfo.json')
-
var multer = require('multer')
-
let PictureStore = require(PROXY).pictureStore
-
-
var storage = multer.diskStorage({
-
destination: function (req, file, cb) {
-
cb(null, './public/upload')
-
},
-
filename: function (req, file, cb) {
-
var str = file.originalname.split('.')
-
cb(null, Date.now() + '.' + str[1])
-
}
-
})
-
var upload = multer({storage: storage})
-
-
// 上传图片到图片仓库并返回上传的图片路径
-
router.post('/uploadImgs', upload.array('file', 20), function (req, res, next) {
-
var arr = []
-
for (var i in req.files) {
-
arr.push(global.SERVICEADDRESS + '' + req.files[i].filename)
-
}
-
if (req.body.storeId) {
-
PictureStore.updateOnePictureStore({_id: req.body.storeId}, {$addToSet: {pictureUrlArr: {$each: arr}}}, (err, data) => {
-
res.json({
-
code: 200,
-
data: arr
-
})
-
})
-
} else {
-
PictureStore.updateOnePictureStore({isCommon: true}, {$addToSet: {pictureUrlArr: {$each: arr}}}, (err, data) => {
-
res.json({
-
code: 200,
-
data: arr
-
})
-
})
-
}
-
})
上传图片到服务器的public/upload文件夹下
更新图片链接到图片库, 主要是用了
{$addToSet: {pictureUrlArr: {$each: arr}}} 批量插入一个数组
谢谢阅读.如果觉得对你有帮助请记得点赞或收藏.欢迎留言讨论.你的支持是我出产优秀博客的动力.
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/82527771
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)