$file.toMemFile¶
Description¶
Dans Ewt, les objets de type file peuvent être stockés soit en tant que
référence de fichier existant dans le filesystem, soit en tant que tableau
de bytes existant purement en mémoire.
Dans le cas d'un fichier envoyé par formulaire, c'est la taille du fichier
qui détermine de quelle façon le fichier est conservé (ce mécanisme est
implémenté dans org.apache.FileUpload au travers de la classe
DeferredFileOutputStream).
La méthode toMemFile permet de forcer le chargement en mémoire
(c'est-à-dire en tant que tableau de bytes interne à l'objet file) du
contenu d'un fichier dans le cas où celui-ci est un fichier physique.
Il n'est en principe pas nécessaire de faire ce genre d'opération dans un script normal, d'autant que le moteur se charge déjà de réaliser ce traitement lorsque cela est nécessaire, ce qui est le cas lorsqu'un fichier est conservé en tant qu'objet de session persistent. En effet, dans ce cas le fichier devra être accessible dans un thread ultérieur, mais le stockage en filesystem en permet pas de garantir que le fichier existera encore à ce moment (a fortiori si le fichier a été obtenu depuis un payload de requête, étant donné que ces derniers sont automatiquement nettoyés après traitement de la requête).
Syntaxe¶
$file.reencode( file, charsetIn , charsetOut )
Paramètres¶
filefile / string- Fichier à convertir. Peut être passé sous forme de
fileou au moyen de son path sous forme destring charsetInstring- Charset du fichier à traiter
charsetOutstring- Charset de sortie
Retour¶
Retourne true si l'opération a réussi, sinon false.
Exemple¶
Le script ci-dessous applique une conversion iso-8859-1 vers utf-8 récursivement sur l'ensemble des fichiers présents dans l'arborescence d'un dossier.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |