mirror of
https://github.com/spacedeck/spacedeck-open.git
synced 2025-12-16 09:57:30 +01:00
initial commit.
This commit is contained in:
64
helpers/uploader.js
Normal file
64
helpers/uploader.js
Normal file
@@ -0,0 +1,64 @@
|
||||
'use strict';
|
||||
|
||||
var AWS = require('aws-sdk');
|
||||
AWS.config.region = 'eu-central-1';
|
||||
|
||||
var fs = require('fs');
|
||||
var config = require('config');
|
||||
|
||||
module.exports = {
|
||||
removeFile: (path, callback) => {
|
||||
const s3 = new AWS.S3({
|
||||
region: 'eu-central-1'
|
||||
});
|
||||
const bucket = config.get("storage_bucket");
|
||||
s3.deleteObject({
|
||||
Bucket: bucket, Key: path
|
||||
}, (err, res) => {
|
||||
if (err){
|
||||
console.error(err);
|
||||
callback(err);
|
||||
}else {
|
||||
callback(null, res);
|
||||
}
|
||||
});
|
||||
},
|
||||
uploadFile: function(fileName, mime, localFilePath, callback) {
|
||||
if (typeof(localFilePath)!="string") {
|
||||
callback({error:"missing path"}, null);
|
||||
return;
|
||||
}
|
||||
console.log("[s3] uploading", localFilePath, " to ", fileName);
|
||||
|
||||
const bucket = config.get("storage_bucket");
|
||||
const fileStream = fs.createReadStream(localFilePath);
|
||||
fileStream.on('error', function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
callback(err);
|
||||
}
|
||||
});
|
||||
fileStream.on('open', function () {
|
||||
// FIXME
|
||||
var s3 = new AWS.S3({
|
||||
region: 'eu-central-1'
|
||||
});
|
||||
|
||||
s3.putObject({
|
||||
Bucket: bucket,
|
||||
Key: fileName,
|
||||
ContentType: mime,
|
||||
Body: fileStream
|
||||
}, function (err) {
|
||||
if (err){
|
||||
console.error(err);
|
||||
callback(err);
|
||||
}else {
|
||||
const url = "https://"+ config.get("storage_cdn") + "/" + fileName;
|
||||
console.log("[s3]" + localFilePath + " to " + url);
|
||||
callback(null, url);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user