63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
var express = require('express');
|
|
var router = express.Router();
|
|
var utils = require('./utils');
|
|
// var bucket = require('./storageManager');
|
|
var uuid = require('node-uuid');
|
|
var fs = require('fs');
|
|
var imgur = require('imgur-node-api');
|
|
imgur.setClientID('d694242fc19e1a8');
|
|
|
|
var gcloud = require('gcloud');
|
|
var path = require('path');
|
|
|
|
var gcs = gcloud.storage({
|
|
projectId: 'thesocialnotework-api'
|
|
});
|
|
|
|
var bucket = gcs.bucket('avatars-bucket');
|
|
|
|
|
|
|
|
router.post('/upload', (req, res) => {
|
|
if (!req.body || !req.body.image) {
|
|
utils.response_400(res, {
|
|
image: 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAA..kJggg=='
|
|
}, "image data should ba an image Based64 format");
|
|
return;
|
|
}
|
|
var file_ending = req.body.image.split('/')[1].split(';')[0];
|
|
var image_name = uuid.v4() + '.' + file_ending;
|
|
var file_path = path.join(__dirname, '..', '/Images/', image_name);
|
|
|
|
var data = req.body.image.replace(/^data:image\/\w+;base64,/, '');
|
|
// var fd = fs.openSync(path.join(__dirname, '..', '/Images/', image_name), 'w');
|
|
//
|
|
fs.writeFile(file_path, data, {
|
|
encoding: 'base64'
|
|
}, function (err) {
|
|
//Finished
|
|
if (err)
|
|
res.send({
|
|
status: "Error",
|
|
image_url: null
|
|
});
|
|
else {
|
|
imgur.upload(file_path, function (err, _res) {
|
|
console.log(_res.data.link);
|
|
res.send({
|
|
status: 'OK',
|
|
image_url: _res.data.link
|
|
});
|
|
});
|
|
}
|
|
});
|
|
//
|
|
|
|
|
|
// });
|
|
// });
|
|
|
|
});
|
|
|
|
module.exports = router;
|