jsp页面IO读写

jsp页面:

window.location.href = "templateSingleDownload.do?id="+id;//携带主键id过去

action页面:


@RequestMapping(value = "/admin/templateSingleDownload")
public Map<String,Object> templateSingleDownload(@RequestParam Map<String,Object> field,HttpServletRequest request,HttpServletResponse response) throws Exception{
Map<String, Object> jsonMap = new HashMap<String, Object>();
try{
field.put("invokeMethod", "select_content");
Map resultMap = SelfReportTemplateSrvImpl.execute(field); //从数据库查找出文件
if(resultMap==null)return jsonMap;
String fileName = (String)resultMap.get("templatefilename");//templatefilename文件名
//需要用这个转化,要不然乱码
fileName = URLEncoder.encode(fileName, "UTF-8");
Blob blob=(Blob) resultMap.get("templatefile");//templatefile文件
byte[] bytes=ByteUtil.blobToBytes(blob);
InputStream inputStream = new ByteArrayInputStream(bytes);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;fileName="+fileName.replace("+", "%20"));
OutputStream os = response.getOutputStream();
byte[] b = new byte[2048];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
}
os.close();
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

//server页面

private Map<String,Object> select_content(Map<String,Object> map) {
Map<String,Object> result = sqlSession.selectOne("doc_template.select_content", map);
return result;//返回map类型
}

xml页面

<select id="select_content" parameterType="hashmap" resultType="hashmapEx">
select
id
,templateid
,templatefilename
,templatehead
,templatetype
,qianfaunit
,templatefile
from doc_template
<where>
<if test=" id != null and id !='' ">
and id = #{id}
</if>
<if test=" templateid != null and templateid !='' ">
and templateid = #{templateid}
</if>
<if test=" templatetype != null and templatetype !='' ">
and templatetype = #{templatetype}
</if>
<if test=" templatehead != null and templatehead !='' ">
and templatehead = #{templatehead}
</if>
<if test=" qianfaunit != null and qianfaunit !='' ">
and qianfaunit = #{qianfaunit}
</if>
</where>
order by templatetype
</select>

转载于:https://www.cnblogs.com/YingJian/p/11138821.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值