const express = require('express')
const router = express.Router()
const fs = require('fs')
const path = require('path')
const FormData = require('form-data')
const axios = require('axios')
const multipart = require('connect-multiparty')
const multipartMiddleware = multipart()
const uploadUrl = 'http://192.168.18.232:8181/api/common/fileUpload'
/* upload */
router.post('/', multipartMiddleware, (req, res, next) => {
console.log(req.body)
console.log(req.files)
const formData = new FormData()
const params = req.body
for (const key in params) {
if (params.hasOwnProperty(key)) {
const value = params[key]
formData.append(key, value)
}
}
const files = req.files
if (!Object.keys(files).length) return res.send({ msg: '请选择文件' })
for (const key in files) {
if (files.hasOwnProperty(key)) {
const item = files[key]
const { path: filePath, originalFilename } = item
const newPath = path.join(path.dirname(filePath), originalFilename) // 得到newPath新地址用于创建读取流
console.log('filePath', filePath)
console.log('newPath', newPath)
fs.rename(filePath, newPath, (err) => {
if (err) return
const file = fs.createReadStream(newPath) //创建读取流
formData.append(key, file)
axios.post(uploadUrl, formData, { headers: formData.getHeaders() }).then((res1) => {
res.send(res1.data)
})
})
}
}
})
/**================================================== */
module.exports = router
node转发文件上传
最新推荐文章于 2022-12-29 19:59:27 发布