From d26e8d9ebaaf8f19e9d2585de2b47fc052efa47e Mon Sep 17 00:00:00 2001 From: madhavmalhotra3089 Date: Fri, 19 Jun 2020 16:59:45 -0400 Subject: [PATCH] [FIX] Update AmazonS3 file upload with error handling and sync operation (#10372) --- app/file-upload/server/config/AmazonS3.js | 25 ++++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/app/file-upload/server/config/AmazonS3.js b/app/file-upload/server/config/AmazonS3.js index 48aea6aea16..fbbb3724ce1 100644 --- a/app/file-upload/server/config/AmazonS3.js +++ b/app/file-upload/server/config/AmazonS3.js @@ -9,20 +9,25 @@ import '../../ufs/AmazonS3/server.js'; const get = function(file, req, res) { const forceDownload = typeof req.query.download !== 'undefined'; - const fileUrl = this.store.getRedirectURL(file, forceDownload); - if (!fileUrl) { - return res.end(); - } + this.store.getRedirectURL(file, forceDownload, (err, fileUrl) => { + if (err) { + return console.error(err); + } - const storeType = file.store.split(':').pop(); - if (settings.get(`FileUpload_S3_Proxy_${ storeType }`)) { - const request = /^https:/.test(fileUrl) ? https : http; + if (!fileUrl) { + return res.end(); + } - return FileUpload.proxyFile(file.name, fileUrl, forceDownload, request, req, res); - } + const storeType = file.store.split(':').pop(); + if (settings.get(`FileUpload_S3_Proxy_${ storeType }`)) { + const request = /^https:/.test(fileUrl) ? https : http; + + return FileUpload.proxyFile(file.name, fileUrl, forceDownload, request, req, res); + } - return FileUpload.redirectToFile(fileUrl, req, res); + return FileUpload.redirectToFile(fileUrl, req, res); + }); }; const copy = function(file, out) {