1) Я хочу загрузить pdf-файл, который хранится в oracle db как blob. Но я получаю файл 0 kb. Я не сделал этого раньше. Так PLS помочь на кнопку нажмите сервлет вызывает другой сервлет, который выполняет загрузку. Это код, который я написал для загрузки файла.нет данных после загрузки blob pdf file
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 страниц. и для каждого клиента неизвестны страницы. ex для клиента Antony его страница нет в этом pdf 4 и 5. Я хочу только загрузить файл с этими 2 страницами. Как я могу выполнить эту задачу?
UPDATE: jtahlborn решить мою первую проблему, которая была очень глупо ... просто нужно было добавить следующие строки
resp.getOutputStream().write(fileBytes);
resp.getOutputStream().flush();
resp.getOutputStream().close();
Так я, наконец, удалось с этим. Теперь pls some1 помогите мне в моей второй проблеме. Я хочу загрузить страницы, для которых страница no известна из pdf и сохраняется как отдельный pdf-файл. На самом деле это pdf, который я хочу скачать. Не первый pdf. Я просто сделал это, чтобы научиться загружать файл blob.
Задайте свой второй вопрос как отдельный вопрос. Stack Overflow - это платформа для предоставления ответов на вопросы. Но единственным способом определения правильных ответов является вопрос по одному вопросу. – APC