diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html index 1c45940a5a4c49fb4620f12d5b48cc98b6e456c8..dd18cd0fbb85a6d859382c8ca5c264fd70d76301 100644 --- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html +++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html @@ -31,7 +31,7 @@ <div ng-if="field.type === 'file_wsdata'" class="preview-documents-zone"> <div ng-repeat="document in aPreviewDocuments" class="preview-document preview-show-{{$index}}"> - <a class="document-link" href="javascript:void(0)" ng-click="downloadFile(document)">{{document.name}}</a> + <a class="document-link" href="javascript:void(0)" ng-click="downloadDocument(document)">{{document.name}}</a> <span class="document-cancel" data-no="{{$index}}" ng-click="removeFile(document)"><span class="icon-trash"></span></span> </div> </div> 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 66e6437f960430dc85006ca267663c8503d7e841..f16a77d2591c1e954071a6f49c06353a05d6b15e 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 @@ -200,11 +200,10 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie var deferred = $q.defer(); var bThumbnail = goog.isDefAndNotNull(bThumbnail) ? bThumbnail : false; - var oParams = {}; - - if (bThumbnail === true) { - oParams['thumbnail'] = true; - } + var oParams = { + 'type': scope['field']['type'] === 'image_wsdata' ? 'image' : 'document', + 'thumbnail' : bThumbnail === true ? true : false + }; ajaxRequest({ 'method': 'GET', @@ -297,6 +296,14 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie return sName; } + scope['downloadDocument'] = function(oFile) { + $log.log("formReader.FilePickerDirective.downloadDocument"); + + scope['downloadFileBlob'](oFile._url).then(function(oBlob){ + scope['downloadFile'](oFile, oBlob); + }); + } + /** * Download the given file * @param {object} oFile diff --git a/src/vitis/vas/rest/ws/vitis/FileDownloader.class.inc b/src/vitis/vas/rest/ws/vitis/FileDownloader.class.inc index 399b7743cfdcd17270052f1643876fe07bc74b5f..c9564a93f201b3076778f047b1f9ffe47fcf00e0 100755 --- a/src/vitis/vas/rest/ws/vitis/FileDownloader.class.inc +++ b/src/vitis/vas/rest/ws/vitis/FileDownloader.class.inc @@ -161,7 +161,7 @@ class FileDownloader extends Vitis { session_write_close(); $sFilename = explode("/", $this->aValues["key"]); $sFilename = end($sFilename); - $this->getFile($sPath, $sFilename); + $sMessage = $this->getFile($sPath, $sFilename); } } else { @@ -174,7 +174,7 @@ class FileDownloader extends Vitis { function getFile($sFilePath, $sFileName) { // Utilisation thumnail - if ($this->aValues["thumbnail"] == true) { + if ($this->aValues["thumbnail"] === 'true') { $sMinFilePath = $sFilePath; $aMinFilePath = explode('.', $sMinFilePath); array_pop($aMinFilePath); @@ -186,6 +186,10 @@ class FileDownloader extends Vitis { } } + if ($this->aValues["thumbnail"] === 'true' && $this->aValues["type"] === 'document') { + header("Content-disposition: attachment; filename=\"" . rawurlencode($sFileName) . "\""); + return array("status" => 1, "fileName" => $sFileName); + } // Le fichier existe ? if (file_exists($sFilePath)) {