diff options
| author | Adam Soltys <[email protected]> | 2015-11-11 13:25:35 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2015-11-11 13:25:35 -0800 |
| commit | c1cd55151fdea2bd80e27a6a9dfc905a243dd379 (patch) | |
| tree | ce8f86cf2f247582b133c26d0f728a102d235dd3 /routes | |
| parent | 59528d7c0a301c805b03bf77492e489c0e723e79 (diff) | |
| download | coinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.tar.gz coinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.zip | |
Fetch remote image files and store locally
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/users.js | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/routes/users.js b/routes/users.js index c5e0f0ee..28b89797 100644 --- a/routes/users.js +++ b/routes/users.js @@ -1,5 +1,5 @@ (function() { - var bcrypt, config, db; + var bcrypt, config, db, fs, request; db = require("../redis"); @@ -7,6 +7,10 @@ bcrypt = require('bcrypt'); + fs = require('fs'); + + request = require('request'); + module.exports = function(sessions) { return { exists: function(req, res) { @@ -34,7 +38,7 @@ }, show: function(req, res) { return db.hgetall("user:" + req.params.user, function(err, obj) { - var options; + var ext, options, path; if (obj) { options = { user: req.params.user, @@ -50,6 +54,15 @@ if (req.query.verified != null) { options.verified = true; } + if (obj.logo.length > 3) { + ext = obj.logo.substr(obj.logo.length - 3); + path = "public/assets/img/logos/" + obj.username + "." + ext; + fs.lstat(path, function(err, stats) { + if ((ext === 'jpg' || ext === 'png' || ext === 'gif') && (err || !stats.isFile())) { + return request("" + obj.logo).pipe(fs.createWriteStream(path)); + } + }); + } res.render('users/show', options); return delete req.session.verified; } else { |
