28 lines
779 B
JavaScript
28 lines
779 B
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const UPLOADS_FOLDER = './uploads';
|
|
|
|
if (!fs.existsSync(UPLOADS_FOLDER)) {
|
|
fs.mkdirSync(UPLOADS_FOLDER);
|
|
}
|
|
|
|
function saveFile(filename, stream) {
|
|
const targetPath = path.join(UPLOADS_FOLDER, path.basename(filename));
|
|
const writeStream = fs.createWriteStream(targetPath);
|
|
stream.pipe(writeStream);
|
|
}
|
|
|
|
function deleteFile(filename) {
|
|
const targetPath = path.join(UPLOADS_FOLDER, path.basename(filename));
|
|
if (fs.existsSync(targetPath)) {
|
|
fs.unlinkSync(targetPath);
|
|
}
|
|
}
|
|
|
|
function openFile(filename) {
|
|
const targetPath = path.join(UPLOADS_FOLDER, path.basename(filename));
|
|
return fs.existsSync(targetPath) ? fs.createReadStream(targetPath) : null;
|
|
}
|
|
|
|
module.exports = { saveFile, deleteFile, openFile };
|