Sto scrivendo un'estensione Chrome che fa il seguente:"Uffa" quando uri dati è troppo grande
- scarica un file da un sito web per memoria utilizzando
XMLHttpRequest
- aggiunge i dati supplementari al file e quindi base64 codifica il risultato alla variabile
total_encoded_data
- Offre i dati all'utente utilizzando
<a href=data:application/octet-stream;charset=utf-8;base64,' + total_encoded_data+' download='file.bin'>Click to Download</a>
. Dovetotal_encoded_data
viene aggiunto a href utilizzando jQuery.
ho trovato, attraverso un manuale di ricerca binaria, che se la dimensione del total_encoded_data
è maggiore di 2097100 caratteri, quindi mi metterò un messaggio di Uffa quando clicco il link. Se la dimensione è inferiore, posso scaricare come previsto.
Oltre a testare il file, ho anche utilizzato atoi
per garantire che la codifica base64 sia valida e funzioni senza errori.
Il Aw, messaggi Snap non producono alcun segnalazioni di crash in chrome://crashes
né alcuna uscita inattesa del chrome_debug.log
Come evitare un messaggio di Uffa quando serve un URI dati in cui le Base64 lunghezza della stringa è maggiore di 2097100?
3.5 anni più tardi ... ancora non riparato. Dio dannazione, Chrome. – kangax
Quasi 7 anni dopo ... e risolto lo stesso vecchio problema con il trucco dell'url blob! – aBertrand
Quasi otto .. Questo è triste .. –