這篇文章主要介紹了JSP實現從不同服務器上下載文件的方法,涉及jsp文件傳輸的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了JSP實現從不同服務器上下載文件的方法。分享給大家供大家參考,具體如下:
最近在項目當中遇到模板下載的問題:當服務器為Tomcat的時候文件可以正常下載,但是當放到線上(WebLogic服務器)下載的模板為空,現記錄下解決辦法。
- public void importSuccess() throws Exception {
- try {
- HttpServletResponse response = Struts2Utils.getResponse();
- // 重置響應
- response.reset();
- // 設置響應頭為二進制流
- 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("/")//這里才是問題的關鍵,WebLogic服務器要在讀取添加一個"/"
- .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("下載導出模版失敗", e);
- }
- }
留著以后備用
希望本文所述對大家jsp程序設計有所幫助。
新聞熱點
疑難解答