Buongiorno.
Purtroppo da neofita ho un problema che credo molti abbiano incontrato e che, forse, ha una facile soluzione.
Io vorrei utilizzare la libreria PDF.js per visualizzare dei file a schermo in HTML.
Gli esempi che ho trovato per selezionare il file utilizzano l'input da video, tramite (per esempio):
<input type="file" class="row" id="pdfInput" accept=".pdf">
Poi, con un semplice eventListener prendono il file per portarlo ad un oggetto:
document.getElementById('pdfInput').addEventListener('change', handleFileSelect);
function handleFileSelect(event) {
const input = event.target;
const file = input.files[0];
const pdfUrl = URL.createObjectURL(file);
renderPDF(pdfUrl);
[...]
Il mio problema è che io ottengo solo il nome del file tramite una query in PHP, quindi una stringa. Conosco il path, va da sè.
Come faccio a caricare questo file dalla sola stringa nella variabile file da elaborare?
Logicamente il mio HTML non ha un tag input.
Ho provato come segue:
let input = el.dataset.fileName;
let file = new File (["application/pdf"], input);
let pdfUrl = URL.createObjectURL(file);
renderPDF(pdfUrl);
Ma non funziona (la libreria mi restituisce un errore con "invalid pdf structure"). Ed è ovvio, perché così non sto caricando il file in questione nella variabile.