一、文件下载
struts.xml配置代码
<action name="download" class="com.srt.vas.cs.action.RecordListAction" method="download"/>
public String download() throws Exception {
response = ServletActionContext.getResponse();
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition","attachment;filename=customers.xls");
OutputStream out = null;
FileInputStream in = null;
try {
String path = "/WEB-INF/classes/template/customers.xls";
out = ServletActionContext.getResponse().getOutputStream();
in = new FileInputStream(ServletActionContext.getServletContext().getRealPath(path));
byte[] buf = new byte[4096];
int i = 0;
while((i = in.read(buf)) > 0) {
out.write(buf, 0, i);
}
out.flush();
}
catch(Exception e) {
e.printStackTrace();
}
finally {
if(in != null) {
in.close();
}
if(out != null) {
out.close();
}
}
return null;
}
二、文件上传
private File doc;
private String fileName;
private String contentType;
public void setDoc(File file) {
this.doc = file;
}
public void setDocFileName(String fileName) {
this.fileName = fileName;
}
public void setDocContentType(String contentType) {
this.contentType = contentType;
}
public String upload() throws Exception {
String dir = ServletActionContext.getServletContext().getRealPath("/temp");
if(!new File(dir).exists()) {
new File(dir).mkdirs();
}
File target = new File(dir, "customers.xls");
FileUtils.copyFile(doc, target);
return SUCCESS;
}
//在页面中加入
<file name="doc" size="60" cssclass="t_input"></file>