采用非resultType是stream
直接acton方法里面返回return null
struts2
直接acton方法里面返回return null
struts2
InputStream io = null;
try{
io = repositoryService.getResourceAsStream(deploymentId,fileName);
if(io == null){
//Struts2Utils.renderHtml("<html><head></head><body></body></html>");
logger.warn("io 为null,"+deploymentId+","+fileName);
Struts2Utils.renderText("读取数据为null(deploymentId:"+deploymentId+",fileName:"+fileName+"),该业务未定义工作流或流程图有误!");
return ;
}
if(isImage){
//response.setContentType("image/png");
response.setContentType("image/x-png");
}else{
response.setContentType("text/xml");
}
byte[] buf = new byte[1];
int len = 0;
OutputStream os = response.getOutputStream();//这个位置很重要,如果有报错一定不能执行到这里
while((len = io.read(buf)) != -1){
os.write(buf, 0, len);
}
os.flush();
os.close();
buf = null;
}catch(IOException e){
addActionError(e.getMessage());
}finally{
if (io != null) {
try {io.close();} catch ( IOException e ) {e.printStackTrace();}
}
}