📄 accessoryresult.java
字号:
package com.wygl.fjgl.action;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.xwork.Result;
import com.opensymphony.xwork.util.OgnlValueStack;
/**
* @author Administrator
* 附件文件下载结果
*/
public class AccessoryResult implements Result {
/**
* 文件输入流
*/
private InputStream input;
/**
* 文件名称
*/
private String fileName;
/**
* 数据源
*/
private Connection con;
/*
* @see com.opensymphony.xwork.Result#execute(com.opensymphony.xwork.ActionInvocation)
*/
public void execute(ActionInvocation arg0) throws Exception {
try {
OgnlValueStack stack = (OgnlValueStack) ServletActionContext.getRequest().getAttribute("webwork.valueStack");
input = (InputStream) stack.findValue("input");
fileName = (String) stack.findValue("fileName");
con = (Connection) stack.findValue("con");
if (input == null) {
throw new NullPointerException("No input found");
}
if (fileName == null) {
throw new NullPointerException("No fileName found");
}
if (con == null) {
throw new NullPointerException("No con found");
}
HttpServletResponse response = ServletActionContext.getResponse();
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
OutputStream out = response.getOutputStream();
byte[] buffer = new byte[102400];
int bytes = 0;
while ((bytes = input.read(buffer)) != -1) {
out.write(buffer, 0, bytes);
}
input.close();
out.close();
if(con != null){
con.close();
}
} catch (Exception e) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -