Я отправляю файл в браузер в сервлете.Максимальный JDK, который я могу использовать, - это 1.4.2, и мне также нужно получить файл через URL.Я также пытаюсь использовать «guessContentTypeFromStream», но я получаю нулевое значение, которое вызывает исключение при использовании в примере кода ниже.В настоящее время мне приходится самому жестко кодировать или обрабатывать тип контента.
Я хотел бы знать, как я могу перефакторинг этого кода, чтобы передача файла была максимально быстрой, а также использовать guessContentTypeFromStream?(Примечание "res" - это HttpServletResponse).
URL servletUrl = new URL(sFileURL);
URLConnection conn = servletUrl.openConnection();
int read;
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
String sContentType =conn.guessContentTypeFromStream(conn.getInputStream());
res.setContentType(sContentType);
//res.setContentType("image/jpeg");
PrintWriter os = res.getWriter();
while((read = bis.read()) != -1){
os.write(read);
}
//Clean resources
os.flush();