Răsfoiți Sursa

Fix: Error on uploading user profile image

Sotaro KARASAWA 10 ani în urmă
părinte
comite
bac7057686
2 a modificat fișierele cu 24 adăugiri și 31 ștergeri
  1. 1 0
      CHANGES.md
  2. 23 31
      lib/routes/me.js

+ 1 - 0
CHANGES.md

@@ -6,6 +6,7 @@ CHANGES
 * Fix: Logic of checking uploadable was broken.
 * Fix: Creatable page name (Thank you: @riaf #42, Reported #33).
 * Fix: Warning on uploading with create page.
+* Fix: Error on uploading user profile image.
 
 ## 1.3.0
 

+ 23 - 31
lib/routes/me.js

@@ -46,41 +46,33 @@ module.exports = function(crowi, app) {
     //  'url': imageUrl,
     //  'message': '',
     //});
+    var tmpFileStream = fs.createReadStream(tmpPath, {flags: 'r', encoding: null, fd: null, mode: '0666', autoClose: true });
+
+    fileUploader.uploadFile(filePath, tmpFile.mimetype, tmpFileStream, {})
+    .then(function(data) {
+      var imageUrl = fileUploader.generateS3FileUrl(filePath);
+      req.user.updateImage(imageUrl, function(err, data) {
+        fs.unlink(tmpPath, function (err) {
+          // エラー自体は無視
+          if (err) {
+            debug('Error while deleting tmp file.', err);
+          }
 
-    fileUploader.uploadFile(
-      filePath,
-      tmpFile.mimetype,
-      fs.createReadStream(tmpPath, {
-        flags: 'r',
-        encoding: null,
-        fd: null,
-        mode: '0666',
-        autoClose: true
-      }),
-      {},
-      function(err, data) {
-        if (err) {
           return res.json({
-            'status': false,
-            'message': 'Error while uploading to ',
-          });
-        }
-        var imageUrl = fileUploader.generateS3FileUrl(filePath);
-        req.user.updateImage(imageUrl, function(err, data) {
-          fs.unlink(tmpPath, function (err) {
-            // エラー自体は無視
-            if (err) {
-              console.log('Error while deleting tmp file.');
-            }
-            return res.json({
-              'status': true,
-              'url': imageUrl,
-              'message': '',
-            });
+            'status': true,
+            'url': imageUrl,
+            'message': '',
           });
         });
-      }
-    );
+      });
+    }).catch(function (err) {
+      debug('Uploading error', err);
+
+      return res.json({
+        'status': false,
+        'message': 'Error while uploading to ',
+      });
+    });
   };
 
   actions.index = function(req, res) {