'Multer file buffer missing
the req.file property returned from the following does not contain a buffer property (https://www.npmjs.com/package/multer). So when I try to access req.file.buffer it returns undefined. Can someone help to explain. `
const multer = require('multer')
const uploadtest = multer({
dest: 'avatar'
})
router.post('/uploadtest', uploadtest.single('upload'), (req, res)=>{
console.log(req.file)
req.user.avatar = req.file.buffer
await req.user.save()
res.send()
}, (error, req, res, next)=>{
res.status(400).send({error: error.message})
}
)
` the output from console.log(req.file) is:
{
fieldname: 'upload',
originalname: 'sample-doc-file.doc',
encoding: '7bit',
mimetype: 'application/msword',
destination: 'avatar',
filename: 'e488d6205717d45f397782b79d45fd8e',
path: 'avatar\\e488d6205717d45f397782b79d45fd8e',
size: 22528
}
Solution 1:[1]
I experienced the same issue, req.file.buffer was undefined. As Robert pointed out, I was using the dest option for multer. This is what worked for me:
const multer = require('multer');
const upload = multer();
router.post('/', upload.single('image_file'), myController)
then on myController
var buffer = req.file.buffer;
Solution 2:[2]
To get the benefit of await you must write async before (req, res) => {}
Solution 3:[3]
I solved it with another min-height: 0. My problem was that .direct-child was itself a CSS grid, and I needed min-height: 0 on .another-one as well to allow the element to shrink below the content height.
.grid {
height: 80vh;
display: grid;
grid-template-columns: 1fr;
}
.direct-child {
height: 100%;
min-height: 0;
display: grid;
background-color: slateblue;
}
.another-one {
height: 100%;
min-height: 0;
}
.make-this-scrollable {
height: 100%;
overflow-y: auto;
}
<div class="grid">
<div class="direct-child">
<div class="another-one">
<div class="make-this-scrollable">
<div class="content">
<ul>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
</div>
</div>
</div>
</div>
</div>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | yaach |
| Solution 2 | Tyler2P |
| Solution 3 | Sneppy |
