Multer Storage Engine for Tencent Cloud Object Storage (COS)
Install
npm install @a-drowned-fish/multer-cos
Usage
var express = require('express')
var router = express.Router()
const multer = require('multer')
const { multerCosStorage } = require('@a-drowned-fish/multer-cos')
const storage = multerCosStorage({
config: {
SecretId: 'xxxxxx',
SecretKey: 'pppppppp',
Bucket: 'ddddddd',
Region: 'fffffff',
},
destination: 'nnnnn',
})
const upload = multer({
storage: storage,
})
const singleFileUpload = upload.single('file')
router.post('/upload', (req, res) => {
try {
singleFileUpload(req, res, (error) => {
if (error) {
return res.json({ msg: 'fail' })
}
// req.file.filepath -> used to delete file from COS
console.log(req.file, req.file.filepath, req.file.url, req.file.destination, req.file.filename)
res.json({ msg: 'success' })
})
} catch (error) {
res.json({ msg: 'fail' })
}
})
// or
router.post('/upload', singleFileUpload, (req, res) => {
try {
// req.file.filepath -> used to delete file from COS
console.log(req.file, req.file.filepath, req.file.url, req.file.destination, req.file.filename)
res.json({ msg: 'success' })
} catch (error) {
res.json({ msg: 'fail' })
}
})
// delete file from COS
router.delete('/:id', (req, res) => {
// ......
storage.deleteFile('filepath')
})
module.exports = router