Я использую Apache Commons FileUpload для получения выгруженных файлов в сервлете, как описано в http://code.google.com/appengine/kb/java.html#fileforms
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());
}
Я не уверен, что item.getContentType () также будет содержать кодировку файла для текстовых файлов, которая может отличаться от кодировки запроса (например, ISO-8859-1), или если он всегда содержит только тип файла только. В моих тестах я получил только «text / plain», но ожидал «text / plain; Encoding = ISO-8859-1», который был отправлен от клиента.
Правильно ли я понимаю, что item.getContentType () должен включать кодировку (если она отправлена с клиента)?