In Node.js possiamo rimuovere i file in modo sicuro utilizzando le Promise.
La soluzione รจ la seguente:
'use strict';
const fs = require('fs');
const path = require('path');
const ABSPATH = path.dirname(process.mainModule.filename);
module.exports = {
removeFile: (path) => {
let fullPath = ABSPATH + path;
return new Promise( (resolve, reject ) => {
if(fs.existsSync(fullPath)) {
try {
fs.unlinkSync(fullPath);
resolve(path);
} catch(e) {
reject({
status: 500,
msg: e.message
});
}
} else {
reject({
status: 404,
msg: 'Not Found'
});
}
});
}
};
Esempio d'uso:
'use strict';
const remove = require('./lib/utils').removeFile;
remove('/images/test.gif').then(path => {
console.log(path);
}).catch(err => {
console.log(err);
});