1) Я хочу скачать pdf-файл, который хранится в oracle db в виде большого двоичного объекта. Но я получаю файл 0 кб.
Я не делал этого раньше. Так пожалуйста помогите
при нажатии кнопки сервлет вызывает другой сервлет, который выполняет загрузку.
Это код, который я написал, чтобы загрузить файл.
protected void processRequest(HttpServletRequest request, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
try {
OutputStream outStream = resp.getOutputStream();
List file=(List)request.getAttribute("file");
String fileName=null;
byte[] fileBytes=null;
for (int i=0;i<file.size();i++)
{
Map objec=(Map) file.get(i);
fileName=(String)objec.get("fileName");
fileBytes=(byte[])objec.get("fileBytes");
}
String fileType = fileName.substring(fileName.indexOf(".")+1,fileName.length());
if (fileType.trim().equalsIgnoreCase("pdf"))
{
resp.setContentType( "application/pdf" );
}
resp.setHeader("Content-Disposition","attachment; filename=\""+fileName+"\"");
resp.setHeader("cache-control", "must-revalidate");
System.out.println(fileBytes);
} finally {
// out.close();
}
}
ServletOutputStream outs = response.getOutputStream();
outs.write(fileBytes);
outs.flush();
outs.close();
Пожалуйста, скажите мне, где я ошибся. Как я могу скачать полный файл PDF с данными?
2) Допустим, этот PDF-файл представляет собой полный отчет с информацией о клиенте. Предположим, он получил 300 страниц. и для каждого клиента номер страницы известен. Например, для клиента Энтони его страница № 4 в этом формате PDF. Я хочу загрузить файл только с этими 2 страницами. Как я могу выполнить эту задачу?
UPDATE:
jtahlborn решил мою первую проблему, которая была очень глупой ... просто пришлось добавить следующие строки
resp.getOutputStream().write(fileBytes);
resp.getOutputStream().flush();
resp.getOutputStream().close();
Так что, наконец, мне это удалось. Теперь, пожалуйста, помогите мне решить мою вторую проблему. Я хочу скачать страницы, номера страниц которых не известны из PDF-файла, и сохранить их в отдельном PDF-файле. На самом деле вот PDF я хочу скачать. Не первый pdf. Я просто сделал это, чтобы научиться загружать файлы BLOB-объектов.