Generazione di file fittizi

Genera nel solo navigatore file fittizi della dimensione esatta richiesta: immagini, audio, filmati, PDF, testi. Comodo per collaudare i limiti di dimensione dei moduli di caricamento. I file non sono mai trasmessi ad alcun servente.

Formato

Formato Estensione Tipo di supporto Limite della specifica Note
Testo (TXT) .txt text/plain Praticamente illimitato Riempito con testo leggibile ripetuto
CSV .csv text/csv Praticamente illimitato Dati tabellari fittizi con riga d'intestazione
JSON .json application/json Praticamente illimitato Riempito in un unico campo di testo
Binario (BIN) .bin application/octet-stream Praticamente illimitato Sequenza arbitraria che ripete i valori da 0x00 a 0xFF
Immagine (PNG) .png image/png Praticamente illimitato Immagine valida di un pixel più blocchi di riempimento
Audio (WAV) .wav audio/wav 4 GiB Dati PCM silenziosi, realmente riproducibili
Filmato (MP4) .mp4 video/mp4 Praticamente illimitato Registrazione reale nei navigatori compatibili, altrimenti un segnaposto valido nella sola struttura
Filmato (WebM) .webm video/webm Praticamente illimitato Alcuni secondi di animazione realmente registrati, soltanto nei navigatori compatibili
PDF .pdf application/pdf Praticamente illimitato PDF valido di una pagina bianca
ZIP .zip application/zip 4 GiB Archivio con una sola voce non compressa

Consigli per la generazione di file fittizi

  • La logica di convalida dei moduli di caricamento verifica spesso separatamente tre cose: estensione, tipo di supporto e dimensione. Poiché questo strumento genera valori conformi alla specifica in tutti e tre, potrete collaudare mirando al solo limite di dimensione.
  • Un limite «di 10 MB» corrisponde, secondo le realizzazioni, a 10.000.000 di byte oppure a 10.485.760 byte. Poiché l'elenco delle unità permette entrambi i criteri, potrete provare tanto il valore esatto del confine quanto quello che lo supera di un byte.
  • In Chrome ed Edge la scrittura avviene direttamente in flusso sull'unità di destinazione e si possono quindi generare file di decine di gigabyte senza gravare sulla memoria. In Firefox e Safari il file si compone in memoria e la dimensione ha un limite pratico.
  • Per i filmati, nei navigatori compatibili si registrano davvero alcuni secondi di animazione con il codificatore incorporato: aprendoli si vedranno riprodurre. Il resto, cioè il riempimento che occupa la maggior parte del file, e il contenuto degli altri formati di immagine e audio sono fittizi: lo scopo resta la verifica di dimensione, estensione e tipo di supporto.

Domande frequenti

No. La generazione avviene interamente nel navigatore e il contenuto non è mai trasmesso ad alcun servente.

Sì: nei navigatori compatibili si registrano realmente alcuni secondi di animazione con il codificatore incorporato e aprendo il file lo si vede riprodurre. La maggior parte del file è riempimento, necessario a raggiungere la dimensione esatta. Nei navigatori che non sanno registrare, il formato MP4 passa automaticamente a un segnaposto valido nella sola struttura e la generazione non fallisce; il formato WebM è selezionabile soltanto dove la registrazione è possibile.

Perché in entrambi i formati il campo che registra la dimensione è fissato dalla specifica a 32 bit, cioè a circa 4,29 miliardi di byte. Non è un limite della nostra realizzazione, ma della specifica stessa.

I formati TXT, CSV, JSON, BIN, PNG, PDF, MP4 e WebM non hanno limiti di specifica: con una versione recente di Chrome o di Edge, che consentono la scrittura diretta su disco, si possono generare dimensioni molto elevate.
Tool-kun

A proposito — il confine fra un file valido e un file corrotto

Quasi tutti i formati prevedono aree che l'analizzatore può legittimamente saltare: i blocchi sconosciuti del PNG, le scatole libere dell'MP4, gli elementi vuoti del WebM, l'area dei commenti dello ZIP. Erano nate come spazi riservati a future estensioni, che gli analizzatori dell'epoca dovevano ignorare, e riempirle non corrompe il file.

Per i filmati, collocando prima del riempimento un video autentico si ottiene un file realmente riproducibile. Poiché scrivere di proprio pugno la codifica bit per bit di un codec video renderebbe difficile garantirne l'esattezza, si preferisce far registrare alcuni secondi di animazione al codificatore incorporato nel navigatore e accodarvi il riempimento: un accorgimento che concilia il principio di restituire sempre un file certamente valido con il desiderio di un filmato davvero visibile.

È curioso che un archivio ZIP sia progettato in modo da rivelare l'elenco del proprio contenuto leggendone soltanto la parte finale, il cosiddetto indice centrale. Si dice che sia un retaggio dell'epoca dei nastri magnetici, in cui si procedeva a ritroso dalla fine, ed è ancora oggi la ragione per cui da un archivio voluminoso si può estrarre rapidamente un solo file.