mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
File upload fixes
This commit is contained in:
parent
cdd01b70de
commit
f08079ba84
6 changed files with 178 additions and 56 deletions
|
@ -12,11 +12,14 @@ export default {
|
|||
GetDateString: GetDateString,
|
||||
formatUrl: formatUrl,
|
||||
deleteFile: deleteFile,
|
||||
uploadFile: uploadFile,
|
||||
}
|
||||
|
||||
import fs from 'fs'
|
||||
import logger from '../utils/logger'
|
||||
|
||||
import { Request } from '../types/basicTypes'
|
||||
|
||||
interface URLFormatOptions {
|
||||
pathname?: string
|
||||
query?: any
|
||||
|
@ -177,3 +180,46 @@ function deleteFile(fname: string): Boolean {
|
|||
}
|
||||
return false
|
||||
}
|
||||
|
||||
function uploadFile(req: Request, path: string): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
const file = req.files.file
|
||||
// FIXME: Object.keys(req.files).forEach((file) => { saveFile() })
|
||||
logger.Log('Uploading: ' + file.name, logger.GetColor('blue'))
|
||||
|
||||
CreatePath(path, true)
|
||||
|
||||
let fileName = file.name.replace(/\.+/g, '.').replace(/\/+/g, '/')
|
||||
let fileDestination = path + '/' + fileName
|
||||
if (FileExists(fileDestination)) {
|
||||
const date = new Date()
|
||||
const id = date.getHours() + date.getMinutes() + date.getSeconds()
|
||||
|
||||
const temp = file.name.split('.')
|
||||
const extension = temp.pop()
|
||||
fileName = temp.join('.') + '_' + id + '.' + extension
|
||||
console.log(fileName)
|
||||
fileDestination = path + '/' + fileName
|
||||
}
|
||||
|
||||
file.mv(fileDestination, (err) => {
|
||||
if (err) {
|
||||
logger.Log(`Unable to upload file!`, logger.GetColor('redbg'))
|
||||
console.error(err)
|
||||
reject(err)
|
||||
} else {
|
||||
resolve({
|
||||
body: req.body,
|
||||
fileName: fileName,
|
||||
filePath: fileDestination,
|
||||
})
|
||||
}
|
||||
})
|
||||
} catch (err) {
|
||||
logger.Log(`Unable to upload file!`, logger.GetColor('redbg'))
|
||||
console.error(err)
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue