【搭建博客服务端部分】第六部分 上传接口
6. 上传接口
const express = require('express')
const { db, genid } = require('../db/dbUtils')
const fs = require('fs')
// 创建路由
const router = express.Router()
// 编写路由
router.post('/filelist', (req, res) => {
// 这里需要指定格式因为使用的wangeditor,文档中说明 https://www.wangeditor.com/
// 上传成功的返回格式:
// {
// "errno": 0, // 注意:值是数字,不能是字符串
// "data": {
// "url": "xxx", // 图片 src ,必须
// "alt": "yyy", // 图片描述文字,非必须
// "href": "zzz" // 图片的链接,非必须
// }
// }
// 上传失败的返回格式:
// {
// "errno": 1, // 只要不等于 0 就行
// "message": "失败信息"
// }
if (!req.files) {
res.send({
errno: 1,
message: '上传失败!'
})
return
}
let files = req.files
let list = []
for (let file of files) {
// 提取出后缀名
let file_x = file.originalname.substring(file.originalname.lastIndexOf(".") + 1)
// 随机文件名
let file_name = genid.NextId() + '.' + file_x
// 移动文件并且改名
// process.cwd() : 当前node.js进程下的工作目录
// __dirname : 当前模块下的绝对路径
fs.renameSync(
process.cwd() + "/public/upload/temp/" + file.filename,
process.cwd() + "/public/upload/" + file_name,
)
// 存放新地址
list.push("/upload/" + file_name)
}
res.send({
"errno": 0, // 注意:值是数字,不能是字符串
"data": {
"url":list[0], // 图片 src ,必须
}
})
})
module.exports = router
总结
以上就是今天要讲的内容,希望对大家有所帮助!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/82839.html