下载代码整理

来源:互联网 发布:300451创业软件股吧 编辑:程序博客网 时间:2024/06/01 07:30
@RequestMapping(value = "/export")    public void export(@PathVariable long dictId, HttpServletRequest request, HttpServletResponse response) throws IOException {    Resource dict = resourceService.findById(dictId);    String outPath = PropertyUtil.getProperty("UPLOAD_TEMP_PATH") + File.separator + dict.getName()+ ".docx";    List<Resource> words = resourceService.listByParentId(dictId);    XWPFDocument doc = new XWPFDocument();    String citiao = "【"+i18n("citiao")+"】";        String jieshi = "【"+i18n("jieshi")+"】";    for(Resource word : words){            XWPFParagraph citiaoP = doc.createParagraph();            XWPFRun citiaoR = citiaoP.createRun();            citiaoR.setText(citiao+word.getName());            XWPFParagraph jieshiP = doc.createParagraph();            XWPFRun jieshiR = jieshiP.createRun();            jieshiR.setText(jieshi+word.getDescription());    }    FileOutputStream out = new FileOutputStream(outPath);    doc.write(out);    out.close();    File file = new File(outPath);response.setHeader("Content-Type", "application/msword");response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());WebUtil.writeFileToResponse(response, file);    }


webUtil

public static void writeFileToResponse(HttpServletResponse response, File file) {        if (file == null || !file.exists()) {            response.setStatus(404);            return;        }        response.setDateHeader("Expires", System.currentTimeMillis() + 1000 * MAX_AGE);        response.setHeader("Cache-Control", "max-age=" + MAX_AGE);        setResponseHeaderForFile(response, file);        try {            OutputStream to = response.getOutputStream();            Files.copy(file, to);            to.flush();            response.flushBuffer();        } catch (FileNotFoundException e) {            response.setStatus(404);            return;        } catch (IOException e) {            e.printStackTrace();        }    }    public static void setResponseHeaderForFile(HttpServletResponse response, File file) {        String fileExt = Path.getExt(file).toLowerCase();        ResourceBundle bundle = ResourceBundle.getBundle("type");        if (bundle.containsKey(fileExt)) {            response.setContentType(bundle.getString(fileExt));        }    }


0 0
原创粉丝点击