1)oracle dbにblobとして格納されているpdfファイルをダウンロードします。しかし、私は0 KBのファイルを取得します。 私は前にこれをしなかった。ので、ボタンをクリックして のplsの助けサーブレットは、ダウンロードの仕事をして別のサーブレットを呼び出します。 これはファイルをダウンロードするために書いたコードです。blobをダウンロードした後にデータがありません。pdfファイル
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ページあるとします。顧客ごとにページ番号が分かります。私のAntonyのためのexは、このpdfの彼のページ番号は4と5です。私はこの2つのページでファイルをダウンロードしたいだけです。私はこの作業をどのように行うことができますか?
UPDATE: jtahlbornは非常に愚かだった私の最初の問題を解決した...ちょうどので、私は最終的にはそれに成功した次の行
resp.getOutputStream().write(fileBytes);
resp.getOutputStream().flush();
resp.getOutputStream().close();
を追加する必要がありました。今、pls some1私の2番目の問題を助けてください。私は、ページ番号がpdfから知られているページをダウンロードし、別のpdfファイルとして保存したいと思います。実際にそれは私がダウンロードしたいpdfです。最初のpdfではありません。私はちょうどblobファイルをダウンロードすることを学ぶためにそれをしました。
別の質問として2番目の質問をしてください。 Stack Overflowは、質問に対する回答を提供するプラットフォームです。しかし、正解を特定する唯一の方法は、スレッドごとに1つの質問をすることです。 – APC