J'utilise Apache Commons FileUpload pour recevoir les fichiers téléchargés dans un Servlet, comme décrit à http://code.google.com/appengine/kb/java.html#fileformsComment puis-je trouver l'encodage d'un FileItemStream retourné par FileItemIterator?
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (!item.isFormField()) {
System.out.println("Got an uploaded file: " + item.getFieldName()
+ ", name = " + item.getName() + " type = " + item.getContentType());
}
Je ne sais pas si item.getContentType() sera également Coutain l'encodage de fichiers pour les fichiers texte qui pourrait être différent de le codage de la requête (par exemple ISO-8859-1) ou s'il contient toujours uniquement le type de fichier. Dans mes tests, j'ai reçu seulement "texte/plaine" mais je m'attendais à "texte/plain; Encoding = ISO-8859-1" qui a été envoyé par le client.
Est-ce que ma compréhension correcte que le item.getContentType() devrait inclure l'encodage (si elle est envoyée du client)? FileItemStream.getContentType() renvoie tout ce qui a été passé à partir du POST du navigateur.