Struts1.x下载

参数是文件名

package com.platform_easyuiSSH.struts1.action;

import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.platform_easyuiSSH.struts1.action.form.DownForm;

public class DownAction extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DownForm dform = (DownForm) form;
String fileName = dform.getFileName();
//清除页面空白行
response.reset();
//设置相应对象为下载程序
response.setContentType("application/x-msdownload");
//设置下载框中的文件名,java相应都是ISO-8859-1字符编码,IE有问题,暂时没处理
response.setHeader("Content-Disposition", "attachment; filename="+new String(fileName.getBytes(), "ISO-8859-1"));
//开始下载操作
OutputStream os = response.getOutputStream();

String realPath = request.getSession().getServletContext().getRealPath("/upload");
InputStream is = new FileInputStream(realPath+"\\"+fileName);

byte[] b = new byte[1024];
while(true){
int len = is.read(b);
if( len == -1){
break;
}
os.write(b, 0, len);
}
os.close();
is.close();
return null;
}
}

posted @ 2015-08-05 20:51  [3]  阅读(176)  评论(0编辑  收藏  举报