Ci sono molte risposte a questa domanda per Java (How to convert byte size into human readable format in java? e Format file size as MB, GB etc) e even for Groovy/Grails, per non parlare di PHP, ma c'è un modo integrato o conveniente per farlo in FreeMarker?Esiste un modo conveniente per formattare una stringa di dimensione byte leggibile in Freemarker?
Per chiarezza, sto seguendo il metodo SI generico nel linguaggio comune, piuttosto che i poteri binari di 2. E.g.
1 ➤ 1B
123 ➤ 123B
1000 ➤ 1KB
1728 ➤ 1.7KB
7077888 ➤ 7.1MB
E così via.
Dato che FreeMarker non sembra avere una funzione di logaritmo, esiste un modo per farlo in puro FreeMarker, oppure è la mia unica opzione per creare un metodo di template con Java.
OK. Sembra che se stai usando il Funnelback (come sono), c'è una funzione fornita chiamata 'filesize()' che raggiunge il risultato desiderato. –
FreeMarker stesso non definisce 'filesize()'. Qualcos'altro lo mette lì nel tuo ambiente. – ddekany
@ddekany Sì. Lo so. [Funnelback] (http://funelback.com) è ciò che sta mettendo lì. –