Help me
It is structured like this. In blob.js In the blobName function, filed returns normally and req.body does not. I don't know why.
When transferring a file from the back server to ejs, the value of req.body is normally received.
Thanks
express blob.js
const MulterAzureStorage = require('multer-blob-storage').MulterAzureStorage
const blobName = (req, file) => {
console.log(req.body)
const publisher = req.body.publisher
const grade = req.body.grade
const subject = req.body.subject
const version = req.body.version
const stage = req.body.stage
const check = req.body.container
let blobName = ''
if (check === 'image') {
blobName = publisher + '/' + grade + '/' + subject + '/' + 'version' + version
} else {
blobName = publisher + '/' + grade + '/' + subject + '/' + version + '/' + 'stage_' + stage
}
return blobName
}
const containerName = (req, file) => {
console.log(req.body)
const containerName = req.body.container
return containerName
}
const azureStorage = new MulterAzureStorage({
connectionString: connectionString,
accessKey: accessKey,
accountName: accountName,
containerName,
blobName,
containerAccessLevel: 'blob',
urlExpirationTime: 60
})
const upload = multer({
storage: azureStorage
})
router.post('/', upload.any(), (req, res, next) => {
res.send('ok')
})
vue
const fd = new FormData()
fd.append('blobData', this.blobData, { type: '*/*' })
fd.append('container', 'test')
fd.append('publisher', publisher)
fd.append('grade', this.grade)
fd.append('subject', this.subject)
fd.append('version', this.version)
fd.append('stage', this.stage)
await this.$store.dispatch('MANAGER_CREAT_BOOK', fd)
actions.js
const MANAGER_CREAT_BOOK = async ({ commit }, box) => {
console.log(box, 'action')
await managerCreateBoook(box)
}
api.js
function managerCreateBoook (box) {
return instanceAuth.post('api/blob', box, { headers: { 'Content-Type': 'multipart/form-data' } })
}

