Skip to content

Commit 5f8a3ba

Browse files
added UUID for filename
1 parent 7213787 commit 5f8a3ba

2 files changed

Lines changed: 20 additions & 7 deletions

File tree

index.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
const url = require('url');
33
//const uuid = require('uuidv4');
44
const request = require('request');
5-
const path = require('path');
5+
//const path = require('path');
6+
// const uuidv5 = require('uuid/v5'); // Switch to v5 utilizing hashed user_id and filename
7+
const uuidv4 = require('uuid/v4');
68
//const rp = require('request-promise');
79

810
const config = require('./config.json');
@@ -51,7 +53,7 @@ function uploadByURL(url, bucket, fileName) {
5153
}
5254

5355
function upload(url) {
54-
return uploadByURL(url, storage.bucket(config.bucket_name), path.basename(url)); // Add UUID to filename.
56+
return uploadByURL(url, storage.bucket(config.bucket_name), uuidv4());
5557
}
5658

5759

@@ -76,6 +78,9 @@ function getImage(fileName, contentType) {
7678
/*case 'image/jpeg':
7779
break;
7880
case 'image/png':
81+
break;
82+
case 'arrayBuffer':
83+
// res.attachment('x.jpg'); stream.pipe(res);
7984
break;*/
8085
}
8186
return Promise.reject({ fileName, contentType, message:`ImageAPI does not currently accept ${contentType}. Please use json.` });
@@ -89,12 +94,12 @@ exports.images = (req, res) => {
8994
res.status(400).json({error:'noURLs', message:'No URLs were provided.'});
9095
return;
9196
}
92-
if(req.method == 'GET' && !req.query.name) {
93-
res.status(400).json({error:'noImageName', message:'No Image Name was provided'});
97+
if(req.method == 'GET' && !req.params.imageID) {
98+
res.status(400).json({error:'noImageID', message:'No Image ID was provided'});
9499
return;
95100
}
96101
let urls = req.body.urls;
97-
let fileName = req.query.name;
102+
let id = req.params.imageID;
98103

99104
switch(req.method) {
100105
case 'PUT':
@@ -112,7 +117,7 @@ exports.images = (req, res) => {
112117
.catch((err) => { return res.status(400).json(err); });
113118
break;
114119
case 'GET':
115-
getImage(fileName, req.get('content-type'))
120+
getImage(id, req.get('content-type'))
116121
.then((result) => { return res.status(202).json(result); })
117122
.catch((err) => { return res.status(400).json(err); });
118123
break;

server.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@ app.use(bodyParser.json());
2929
//app.use('/v1', chat);
3030
//app.use('/', index);
3131

32-
app.get('/images', function(req, res) {
32+
app.get('/images/:imageID', function(req, res) {
33+
index.images(req, res);
34+
});
35+
36+
app.put('/images/:imageID', function(req, res) {
37+
index.images(req, res);
38+
});
39+
40+
app.post('/images', function(req, res) {
3341
index.images(req, res);
3442
});
3543

0 commit comments

Comments
 (0)