Важно: я могу использовать только «Servlet-Api.jar (2.4 версия)», я не могу использовать другую JAR!
Я использую для загрузки моего файла.
Затем я использую этот код inputstream whourt = request.getInputStream (); , чтобы получить весь входной сегмент.
Код: Выделить всё
BufferedReader br = new BufferedReader(new InputStreamReader(whole, "UTF-8"));
while ((line = br.readLine()) != null) {
sb.append(line);// sb is stringbuilder here
}
< /code>
Тогда я конвертирую строку, которую я получаю от StringBuilder в InputStream: < /p>
InputStream is = new ByteArrayInputStream(result.getBytes("UTF-8""));
OutputStream outputStream = new FileOutputStream(temp);// temp is a file.
int read = 0;
byte[] bytes = new byte[1024];
while ((read = is.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
< /code>
Когда я загружаю файл .txt, он работает, и я могу открыть temp.txt. Однако, когда я загружаю файл .docx, я не могу открыть temp.docx. Как я могу решить эту проблему? Это потому, что моя кодировка неверна?
Подробнее здесь: https://stackoverflow.com/questions/230 ... ervlet-2-4