java extjs_后台java,前台extjs文件下载

前台:

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 operator = getOperator(session);

Map 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 operator) {

String sql = "select FCONTENT from FILES_FJ where A_ID = ?";

return oaJdbcTemplate.queryForObject(sql, new Object[] { A_ID }, new ParameterizedRowMapper() {

public InputStream mapRow(ResultSet rs, int rowNum) throws SQLException {

return rs.getBinaryStream(1);

}

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值