$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¶
file
file / string- Fichier à convertir. Peut être passé sous forme de
file
ou au moyen de son path sous forme destring
charsetIn
string- Charset du fichier à traiter
charsetOut
string- 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 |
|