diff --git a/src/app/contentManagement/controllers/JnlpController.php b/src/app/contentManagement/controllers/JnlpController.php index 9762bf591d184c340868a6615b24e66a2ecf6410..f3aea2223b959680bc920ff681f8d7ef9ef83028 100755 --- a/src/app/contentManagement/controllers/JnlpController.php +++ b/src/app/contentManagement/controllers/JnlpController.php @@ -325,8 +325,8 @@ class JnlpController public function isLockFileExisting(Request $request, Response $response, array $aArgs) { $tmpPath = CoreConfigModel::getTmpPath(); - $fileTrunk = "{$GLOBALS['id']}_maarchCM_{$aArgs['jnlpUniqueId']}"; - $lockFileName = "{$fileTrunk}.lck"; + $fileTrunk = "tmp_file_{$GLOBALS['id']}_{$aArgs['jnlpUniqueId']}"; + $lockFileName = "{$GLOBALS['id']}_maarchCM_{$aArgs['jnlpUniqueId']}.lck"; $fileFound = false; if (file_exists($tmpPath . $lockFileName)) { diff --git a/src/app/convert/controllers/ConvertPdfController.php b/src/app/convert/controllers/ConvertPdfController.php index 8c9d1dd083be9098ced0d68af399767740672a5b..853f896833fcc2a94ae6f1702803f60f5810aef0 100755 --- a/src/app/convert/controllers/ConvertPdfController.php +++ b/src/app/convert/controllers/ConvertPdfController.php @@ -289,11 +289,17 @@ class ConvertPdfController $resource = file_get_contents("{$tmpPath}{$args['filename']}"); $extension = pathinfo("{$tmpPath}{$args['filename']}", PATHINFO_EXTENSION); + $mimeType = mime_content_type("{$tmpPath}{$args['filename']}"); + unlink("{$tmpPath}{$args['filename']}"); $encodedResource = base64_encode($resource); $encodedFiles = ['encodedResource' => $encodedResource]; + $encodedFiles['type'] = $mimeType; + $encodedFiles['extension'] = $extension; + + $queryParams = $request->getQueryParams(); if (!empty($queryParams['convert'])) { if (ConvertPdfController::canConvert(['extension' => $extension])) { diff --git a/src/frontend/app/viewer/document-viewer.component.ts b/src/frontend/app/viewer/document-viewer.component.ts index 0eddfc9587c0708294e2dcec92b4918efb94ee3f..a939aeb960a9fe0a6145dff47e89d29a243f73cb 100644 --- a/src/frontend/app/viewer/document-viewer.component.ts +++ b/src/frontend/app/viewer/document-viewer.component.ts @@ -115,15 +115,16 @@ export class DocumentViewerComponent implements OnInit { } loadTmpFile(filenameOnTmp: string) { - this.http.get('../../rest/convertedFile/' + filenameOnTmp).pipe( + this.http.get(`../../rest/convertedFile/${filenameOnTmp}`, { params: { convert: 'true'}}).pipe( tap((data: any) => { this.file = { - name: this.tmpFilename, - format: 'pdf', - type: 'application/pdf', - content: this.getBase64Document(this.base64ToArrayBuffer(data.encodedResource)), - src: this.base64ToArrayBuffer(data.encodedResource) + name: filenameOnTmp, + format: data.extension, + type: data.type, + content: data.encodedResource, + src: this.base64ToArrayBuffer(data.encodedConvertedResource) }; + this.editMode = true; this.noConvertedFound = false; this.loading = false; }), @@ -383,19 +384,19 @@ export class DocumentViewerComponent implements OnInit { this.http.post('../../rest/jnlp', jnlp).pipe( tap((data: any) => { window.location.href = '../../rest/jnlp/' + data.generatedJnlp; - this.checkLockFile(data.jnlpUniqueId); + this.checkLockFile(data.jnlpUniqueId, template); }) ).subscribe(); } - checkLockFile(id: string) { + checkLockFile(id: string, template: any) { this.intervalLockFile = setInterval(() => { this.http.get('../../rest/jnlp/lock/' + id) .subscribe((data: any) => { if (!data.lockFileFound) { this.editInProgress = false; clearInterval(this.intervalLockFile); - // this.loadTmpFile(data.filename); + this.loadTmpFile(`${data.fileTrunk}.${template.extension}`); } }); }, 1000);