這篇文章主要介紹了JSP實(shí)現(xiàn)從不同服務(wù)器上下載文件的方法,涉及jsp文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了JSP實(shí)現(xiàn)從不同服務(wù)器上下載文件的方法。分享給大家供大家參考,具體如下:
最近在項(xiàng)目當(dāng)中遇到模板下載的問題:當(dāng)服務(wù)器為Tomcat的時(shí)候文件可以正常下載,但是當(dāng)放到線上(WebLogic服務(wù)器)下載的模板為空,現(xiàn)記錄下解決辦法。
- public void importSuccess() throws Exception {
- try {
- HttpServletResponse response = Struts2Utils.getResponse();
- // 重置響應(yīng)
- response.reset();
- // 設(shè)置響應(yīng)頭為二進(jìn)制流
- response.setContentType("application/x-msdownload;charset=utf-8");
- response.setContentType("APPLICATION/OCTET-STREAM ");
- response.setContentType("application/vnd.ms-excel");
- response.setHeader("Content-Disposition",
- "attachment; filename=ComplaintsImportModel.xls");
- String path = this.getClass().getClassLoader().getResource("/")//這里才是問題的關(guān)鍵,WebLogic服務(wù)器要在讀取添加一個(gè)"/"
- .getPath();
- path = path.substring(1, path.length());
- String name = File.separator + path + "ComplaintsImportModel.xls";
- logger.info("**********************************" + name
- + "*******************************");
- InputStream is = new FileInputStream(name);
- HSSFWorkbook wb = new HSSFWorkbook(is);
- // 得到 文件流
- OutputStream out = response.getOutputStream();
- wb.write(out);
- is.close();
- out.flush();
- out.close();
- } catch (Exception e) {
- logger.error("下載導(dǎo)出模版失敗", e);
- }
- }
留著以后備用
希望本文所述對(duì)大家jsp程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選