public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
byte[] data= request.getParameter("filebyte").getBytes();//得到二进制文件内容
String filename =request.getParameter("filename");//得到文件名称
response.setContentType("application/msword");
response.setCharacterEncoding("gb2312");
String fname= new String(filename.getBytes("GB2312"),"ISO8859-1");
response.addHeader("Content-Disposition", "attachment;filename="+fname+".doc");
ServletOutputStream sos=response.getOutputStream();
sos.write(data);
sos.flush();
sos.close();
return null;
}
这样会更好些
if (data_type.equalsIgnoreCase("doc")) {
//response.setContentType("application/x-download");
response.setContentType("application/msword");
response.setCharacterEncoding("gb2312");
//String fname=Base64.decodeToString(request.getParameter("name"));
String fname= new String(fn.getBytes("GB2312"),"ISO8859-1");
response.addHeader("Content-Disposition", "attachment;filename="+fname+".doc");
ServletOutputStream sos=response.getOutputStream();
sos.write(bs);
sos.flush();
sos.close();
} else {
String conttype = null;
conttype = (String) ct.getContentTypes().get(
data_type.toLowerCase());
response.setContentType(conttype);
ServletOutputStream sout = response.getOutputStream();
sout.write(bs);
sout.flush();
sout.close();
}