• excel导出


      前端代码:

    <form id="downloadForm" action="#" method="get">
       <input type="hidden" id="fileId" name="fileId">
        <input type="hidden" id="filename" name="filename">
    </form>

    JS:

     var filename = encodeURI(fksm + ".xls")
            $("#downloadForm #fileId").val(fileId);
            $("#downloadForm #filename").val(filename);
            $('#downloadForm').attr('action', '${pageContext.request.contextPath}/cs/downPaymentFile.do?fileId=' + fileId + '&filename=' + filename);
            $('#downloadForm').submit();

    后台代码:

    /**
         * 下载付款附件
         * @param request
         * @param response
         */
        @RequestMapping(value = "/downPaymentFile.do", method = RequestMethod.GET)
        public void downPicture(HttpServletRequest request, HttpServletResponse response) throws Exception{
            InputStream in = null;
            String fileId = request.getParameter("fileId");
            String filename = request.getParameter("filename");
            filename = new String(filename.getBytes("GB2312"),"iso-8859-1");
    
            try {
                String messageRes = ImageSystemUtils.fileView(fileId);
                JSONObject msgGetPictures = JSONObject.parseObject(messageRes);
                String statusGetPictures = msgGetPictures.getString("status");
                //若返回成功
                if (("200").equals(statusGetPictures)) {
                    //获取返回的data字段值
                    String data = msgGetPictures.getString("data");
                    JSONObject jsonObject = JSONObject.parseObject(data);
                    String url = jsonObject.getString("filePath").replaceAll("\\", "/");
                    
                    URL httpUrl = new URL(url);
                    HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
                    conn.setRequestMethod("GET");
                    conn.setDoInput(true);
                    conn.setDoOutput(true);
                    conn.setUseCaches(false);
                    conn.connect();
    
                    in = conn.getInputStream();
                    byte[] bs = new byte[1024 * 10];
                    int len = 0;
                    response.reset();
    
                    response.setHeader("Pragma", "no-cache");
                    response.setHeader("Cache-Control", "no-cache");
                    response.setHeader("Content-Type", "application/octet-stream");
                    response.setHeader("Content-Disposition", "attachment;filename=" + filename);
                    ServletOutputStream out = response.getOutputStream();
                    while ((len = in.read(bs)) != -1) {
                        out.write(bs, 0, len);
                    }
                }
            } catch (Exception e) {
                throw new RuntimeException("下载失败");
            } finally {
                try {
                    in.close();
                } catch (Exception e) {
                }
            }
        }
  • 相关阅读:
    虚拟环境- virtualenvwrapper
    数据库可视化工具--DBeaver
    关于数据库 SQL 语句性能优化的52 条 策略。
    软件安全测试点以及测试方法
    常用功能-添加、修改功能测试点
    这些自动化测试框架知识你还不知道?
    Postman接口功能测试介绍
    python+SMTP发送邮件测试报告
    数据库经典查询语句与练习题
    Selenium 功能总结大集合
  • 原文地址:https://www.cnblogs.com/lovedaodao/p/11724986.html
Copyright © 2020-2023  润新知