Укажите Content-Length при обслуживании файла из базы данных - PullRequest
1 голос
/ 07 декабря 2011

В сервлете я хочу прочитать EML из моей базы данных и передать его клиенту с пользовательским интерфейсом «download file». Когда я указываю заголовок Content-Length, загрузка занимает минуты. Когда нет, все работает хорошо, но я хочу установить этот заголовок :) Чего мне не хватает?

// part is javax.mail.Part
response.setHeader("Content-Disposition", "attachment" + filename);
response.setContentType(mime);
response.setContentLength(part.getSize()); // This line causes the problem
IOUtils.copy(part.getInputStream(), out);

1 Ответ

2 голосов
/ 07 декабря 2011

Просто предположение - может быть, файл должен быть извлечен из БД, чтобы получить его размер? Сохраните размер в отдельном столбце и введите значение оттуда. Также работа с файлом в БД через java.sql.Blob должна работать.

К сожалению, в вашем примере нет информации, откуда вы берете объект детали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...