open-music-api-node
Version:
28 lines (21 loc) • 636 B
JavaScript
const fs = require('fs');
class StorageService {
constructor(folder) {
this._folder = folder;
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder, { recursive: true });
}
}
writeFile(file, meta, type) {
const filename = +new Date() + meta.filename;
const path = `${this._folder}/${type}/${filename}`;
console.log(path);
const fileStream = fs.createWriteStream(path);
return new Promise((resolve, reject) => {
fileStream.on('error', (error) => reject(error));
file.pipe(fileStream);
file.on('end', () => resolve(filename));
});
}
}
module.exports = StorageService;