51 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-02-20 15:57:34 +01:00
'use strict';
/**
* Module dependencies
*/
// Public node modules.
const fs = require('fs');
const path = require('path');
module.exports = {
provider: 'local',
name: 'Local server',
2018-02-20 17:10:25 +01:00
init: (strapi, config) => {
return {
2018-02-20 15:57:34 +01:00
upload: (file) => {
return new Promise((resolve, reject) => {
2018-02-21 17:18:33 +01:00
// write file in public/assets folder
2018-02-23 14:57:58 +01:00
fs.writeFile(path.join(strapi.config.appPath, 'public', `uploads/${file.hash}${file.ext}`), file.buffer, (err) => {
2018-02-20 15:57:34 +01:00
if (err) {
return reject(err);
}
2018-02-23 14:57:58 +01:00
file.url = `/uploads/${file.hash}${file.ext}`;
2018-02-20 15:57:34 +01:00
resolve();
});
});
},
delete: (file) => {
return new Promise((resolve, reject) => {
2018-02-23 14:57:58 +01:00
const filePath = path.join(strapi.config.appPath, 'public', `uploads/${file.hash}${file.ext}`);
if (!fs.existsSync(filePath)) {
return resolve('File doesn\'t exist');
}
2018-02-21 17:18:33 +01:00
// remove file from public/assets folder
2018-02-23 14:57:58 +01:00
fs.unlink(filePath, (err) => {
2018-02-20 15:57:34 +01:00
if (err) {
return reject(err);
}
resolve();
});
});
}
};
}
};