mirror of
https://github.com/24eme/signaturepdf
synced 2026-03-14 13:55:44 +01:00
Possibilité d'initier un metadata à partir d'une image qui se trouve dans l'espace local
This commit is contained in:
parent
95307a4c6f
commit
7cc18fc08d
2 changed files with 30 additions and 7 deletions
25
app.php
25
app.php
|
|
@ -501,13 +501,27 @@ $f3->route('GET /api/file/get', function($f3) {
|
|||
}
|
||||
$pdf_path = $localRootFolder . '/' . $f3->get('GET.path');
|
||||
$pdf_filename = basename($pdf_path);
|
||||
if (!preg_match('/.pdf$/', $pdf_path)) {
|
||||
$extension = 'pdf';
|
||||
if (preg_match('/.(pdf|png|jpg|jpeg)$/', $pdf_path, $m)) {
|
||||
$extension = $m[1];
|
||||
}else{
|
||||
$f3->error(403);
|
||||
}
|
||||
if (!file_exists($pdf_path)) {
|
||||
$f3->error(403);
|
||||
}
|
||||
header('Content-type: application/pdf');
|
||||
switch ($extension) {
|
||||
case 'jpg':
|
||||
case 'jpeg':
|
||||
header('Content-type: image/jpg');
|
||||
break;
|
||||
case 'png':
|
||||
header('Content-type: image/png');
|
||||
break;
|
||||
default:
|
||||
header('Content-type: application/pdf');
|
||||
break;
|
||||
}
|
||||
header("Content-Disposition: attachment; filename=$pdf_filename");
|
||||
echo file_get_contents($pdf_path);
|
||||
});
|
||||
|
|
@ -519,13 +533,16 @@ $f3->route('PUT /api/file/save', function($f3) {
|
|||
}
|
||||
$pdf_path = $localRootFolder . '/' . $f3->get('GET.path');
|
||||
$pdf_filename = basename($pdf_path);
|
||||
if (!preg_match('/.pdf$/', $pdf_path)) {
|
||||
if (preg_match('/(.*).(pdf|png|jpg|jpeg)$/', $pdf_path, $m)) {
|
||||
$basefile = $m[1];
|
||||
$extension = $m[2];
|
||||
}else{
|
||||
$f3->error(403);
|
||||
}
|
||||
if (!file_exists($pdf_path)) {
|
||||
$f3->error(403);
|
||||
}
|
||||
file_put_contents($pdf_path, $f3->get('BODY'));
|
||||
file_put_contents($basefile.'.pdf', $f3->get('BODY'));
|
||||
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -79,8 +79,14 @@ async function loadFileFromUrl(url, pageUrl, local = null) {
|
|||
if(response.headers.has('content-disposition') && response.headers.get('Content-Disposition').match(/attachment; filename="/)) {
|
||||
file_id = response.headers.get('Content-Disposition').replace(/^[^"]*"/, "").replace(/"[^"]*$/, "").replace(/_signe-[0-9]+\x.pdf/, '.pdf');
|
||||
}
|
||||
|
||||
if(pdfBlob.type != 'application/pdf' && pdfBlob.type != 'application/octet-stream') {
|
||||
filetype = 'application/pdf';
|
||||
if(pdfBlob.type == 'application/pdf' || pdfBlob.type == 'application/octet-stream') {
|
||||
filetype = 'application/pdf';
|
||||
}else if (pdfBlob.type == 'image/jpg' || pdfBlob.type == 'image/jpeg') {
|
||||
filetype = 'image/jpg';
|
||||
}else if (pdfBlob.type == 'image/png') {
|
||||
filetype = 'image/png';
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
let dataTransfer = new DataTransfer();
|
||||
|
|
@ -88,7 +94,7 @@ async function loadFileFromUrl(url, pageUrl, local = null) {
|
|||
file_id = local;
|
||||
}
|
||||
dataTransfer.items.add(new File([pdfBlob], file_id, {
|
||||
type: 'application/pdf'
|
||||
type: filetype
|
||||
}));
|
||||
document.getElementById('input_pdf_upload').files = dataTransfer.files;
|
||||
endLoading()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue