斑驳。
codeing or artist ?

前台:

    function _loadFilesFjContent() {
        var records = Ext.getCmp('filesFjPanel').getSelectionModel().getSelection();

        if (records.length == 0) {
            Ext.MessageBox.alert('操作信息', '请选择附件');
            return;
        }

        if (records.length > 1) {
            Ext.MessageBox.alert('操作信息', '请只选择一个附件');
            return;
        }

        window.open("loadFilesFjContent.do?A_ID=" + records[0].get('A_ID'), "_blank", "width=40,height=30,resizable=yes,scrollbars=yes");
    }

后台:

控制层:

    @RequestMapping(value = "loadFilesFjContent")
    public void loadFilesFjContent(String A_ID, HttpServletRequest request, HttpServletResponse response, HttpSession session) {
        try {
            Map<String, Object> operator = getOperator(session);

            Map<String, Object> filesFj = filesFjService.loadFilesFj(A_ID, operator);
            InputStream inputStream = filesFjService.loadContent(A_ID, operator);
            response.reset();
            String fileName = URLEncoder.encode((String) filesFj.get("FNAME"), "UTF-8");
            response.setHeader("Content-Disposition", "attachment; filename=" + fileName);

            ServletOutputStream out = response.getOutputStream();
            byte[] content = new byte[65535];
            int length = 0;
            if (inputStream != null) {
                while ((length = inputStream.read(content)) != -1) {
                    out.write(content, 0, length);
                }
            }

            out.flush();
            out.close();
        }
        catch (Exception e) {
            logger.error(e.getMessage(), e);
        }
    }

服务层:

    @Override
    public InputStream loadContent(String A_ID, Map<String, Object> operator) {
        String sql = "select FCONTENT from FILES_FJ where A_ID = ?";
        return oaJdbcTemplate.queryForObject(sql, new Object[] { A_ID }, new ParameterizedRowMapper<InputStream>() {
            public InputStream mapRow(ResultSet rs, int rowNum) throws SQLException {
                return rs.getBinaryStream(1);
            }
        });

    }

posted on 2018-12-25 19:27  斑驳。  阅读(645)  评论(0编辑  收藏  举报