3
私のアプリケーションには、特定の入札に関する文書(pdf)がありません。私はそれらのpdfファイルからzipファイルを作成し、それをダウンロードできるようにする必要があります。Zipファイルを作成してダウンロードするjava
アプリケーションは、strutsおよびmysqlを使用してJavaEEで実行されます。 ユーザーがダウンロードボタンをクリックすると、このアクションクラスが呼び出されます。 コードには例外はありませんが、ダウンロードするようにユーザーに指示するものではありません。
コード内の誤りを見つけるのを手伝ってください。続き
は.... ..私のアクションクラスのソースコードである私はちょうど適切なパスを与え、それをダウンロードする必要がありました...そこにすでにました:)完了
public class ActDownloadDocZip extends Action {
static Logger logger = Logger.getLogger(ActDownloadDocZip.class);
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String realPath = getServlet().getServletContext().getRealPath(
"/WEB-INF/log4jConfiguration.xml");
DOMConfigurator.configure(realPath);
logger.info("In ActDownloadDocZip....");
ActionForward forward = null;
HttpSession session = request.getSession();
// get a db connection
Connection conn = null;
String[][] nameFile = null;
String tenderNo = "";
try {
conn = ProxoolConnection.getProxoolConnectionSLT();
tenderNo = request.getParameter("tenderNo");
// File fileex=new File("xxx.zip");
FileOutputStream zipFile = new FileOutputStream(new File("xxx.zip"));
ZipOutputStream output = new ZipOutputStream(zipFile);
// call getPdfFiles method here
ILoadTenders ld = new LoadTenders();
nameFile = ld.getPdfFileListToTender(conn, tenderNo);//this method brings back the relevant pdf file names and paths((pdfname1,pdfpath1),(pdfname2,pdfpath2))
for (int i = 0; i < nameFile.length; i++) {
ZipEntry zipEntry = new ZipEntry(nameFile[i][0].trim());
output.putNextEntry(zipEntry);
FileInputStream pdfFile = new FileInputStream(new File(
nameFile[i][1].trim()));
IOUtils.copy(pdfFile, output);
pdfFile.close();
output.closeEntry();
}
output.finish();
output.close();
} catch (SQLException e) {
System.out.println("actDownloadDocZip " + e);
logger.fatal(e.getMessage());
} catch (Exception e) {
System.out.println("actDownloadDocZip1 " + e);
logger.fatal(e.getMessage());
} finally {
if (conn != null) {
ProxoolConnection.closeProxoolConnectionSLT(conn);
}
}
forward = mapping.findForward("publicdashboard");
return forward;
}
}