File upload fixes

This commit is contained in:
mrfry
2021-04-06 10:30:32 +02:00
parent cdd01b70de
commit f08079ba84
6 changed files with 178 additions and 56 deletions
+3 -42
View File
@@ -1,5 +1,3 @@
import fs from 'fs'
import logger from '../../../utils/logger'
import utils from '../../../utils/utils'
import { Request, SubmoduleData, User } from '../../../types/basicTypes'
@@ -11,7 +9,7 @@ function setup(data: SubmoduleData): void {
const { app /* userDB, url, publicdirs, moduleSpecificData */ } = data
app.post('/postfeedbackfile', function(req: Request, res: any) {
UploadFile(req, res, uloadFiles, () => {
utils.uploadFile(req, uloadFiles).then(() => {
res.json({ success: true })
})
@@ -53,46 +51,9 @@ function setup(data: SubmoduleData): void {
res.json({ success: true })
})
function UploadFile(req: Request, res: any, path: string, next) {
try {
req.pipe(req.busboy)
req.busboy.on('file', function(fieldname, file, filename) {
logger.Log('Uploading: ' + filename, logger.GetColor('blue'))
utils.CreatePath(path, true)
const date = new Date()
const fn =
date.getHours() +
'' +
date.getMinutes() +
'' +
date.getSeconds() +
'_' +
filename
const fstream = fs.createWriteStream(path + '/' + fn)
file.pipe(fstream)
fstream.on('close', function() {
logger.Log(
'Upload Finished of ' + path + '/' + fn,
logger.GetColor('blue')
)
next(fn)
})
fstream.on('error', function(err) {
console.error(err)
res.end('something bad happened :s')
})
})
} catch (err) {
logger.Log(`Unable to upload file!`, logger.GetColor('redbg'))
console.error(err)
}
}
app.route('/fosuploader').post(function(req: Request, res: any) {
UploadFile(req, res, uloadFiles, (fn) => {
res.redirect('/f/' + fn)
utils.uploadFile(req, uloadFiles).then(({ fileName }) => {
res.redirect('/f/' + fileName)
})
})
}