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 2e18e93c39aa186eb63cc0025bc090bb4f73406a..82d2aae60dcf47c1b7007b381e5f2c4904a4e40d 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; }