From 2350b4e034ec045f78d02260d2e41f013fc28fcc Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Wed, 30 Jan 2019 10:16:45 +0100 Subject: [PATCH] =?UTF-8?q?s=C3=A9curisation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/file_picker/file_picker.js | 114 ++++++++++-------- 1 file changed, 63 insertions(+), 51 deletions(-) diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js index 2e18e93c..82d2aae6 100644 --- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js +++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js @@ -215,66 +215,78 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie 'thumbnail' : bThumbnail === true ? true : false }; - ajaxRequest({ - 'method': 'GET', - 'url': sFileUrl, - 'headers': { - 'Accept': 'application/x-vm-json' - }, - 'params': oParams, - 'ajaxLoader': true, - 'responseType': 'blob', - 'success': function(response) { - if (goog.isDefAndNotNull(response['data'])) { - - var oBlob = response['data']; - - // Trouve le nom du fichier - var sFileName = scope['findFileNameInHeaders'](response['headers']); - - if (scope['field']['type'] === 'image_wsdata') { - // Vérification du type - if(response['headers']['content-type'] === 'application/x-vm-json; charset=UTF-8'){ - if (bThumbnail === true) { - bThumbnail = false; - sFileName = null; + if (goog.isString(sFileUrl)) { + ajaxRequest({ + 'method': 'GET', + 'url': sFileUrl, + 'headers': { + 'Accept': 'application/x-vm-json' + }, + 'params': oParams, + 'ajaxLoader': true, + 'responseType': 'blob', + 'success': function(response) { + if (goog.isDefAndNotNull(response['data'])) { + + var oBlob = response['data']; + + // Trouve le nom du fichier + var sFileName = scope['findFileNameInHeaders'](response['headers']); + + if (scope['field']['type'] === 'image_wsdata') { + // Vérification du type + if(response['headers']['content-type'] === 'application/x-vm-json; charset=UTF-8'){ + if (bThumbnail === true) { + bThumbnail = false; + sFileName = null; + } } } - } - if (goog.isDefAndNotNull(sFileName)) { - oBlob['name'] = sFileName; - oBlob._url = sFileUrl; - oBlob._modified = false; - oBlob._thumbnail = bThumbnail; - deferred.resolve(oBlob); - } else { - console.error('cannot get name from headers : ', response['headers']); - - // Retry - if (goog.isDefAndNotNull(iRetry)) { - if (iRetry > 0) { - iRetry--; - scope['downloadFileBlob'](sFileUrl, bThumbnail, iRetry).then( - function success(oBlob){ - deferred.resolve(oBlob); - }, - function error(){ - deferred.reject(); - } - ); + if (goog.isDefAndNotNull(sFileName)) { + oBlob['name'] = sFileName; + oBlob._url = sFileUrl; + oBlob._modified = false; + oBlob._thumbnail = bThumbnail; + deferred.resolve(oBlob); + } else { + console.error('cannot get name from headers : ', response['headers']); + + // Retry + if (goog.isDefAndNotNull(iRetry)) { + if (iRetry > 0) { + iRetry--; + scope['downloadFileBlob'](sFileUrl, bThumbnail, iRetry).then( + function success(oBlob){ + deferred.resolve(oBlob); + }, + function error(){ + deferred.reject(); + } + ); + } else { + oBlob['name'] = sFileUrl.split('/')[sFileUrl.split('/').length - 1]; + oBlob._url = sFileUrl; + oBlob._modified = false; + oBlob._thumbnail = bThumbnail; + deferred.resolve(oBlob); + } } } - } - } else { + } else { + deferred.reject(); + } + }, + 'error': function(response) { deferred.reject(); } - }, - 'error': function(response) { + }); + } else { + setTimeout(function () { deferred.reject(); - } - }); + }); + } return deferred.promise; } -- GitLab