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>

posted @ 2019-07-05 15:53  直男理论  阅读(268)  评论(0)    收藏  举报