package pandy.file;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletResponse;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.FileInputStream;
import java.io.BufferedInputStream;
import java.io.File;
/**
* Created by IntelliJ IDEA.
* User: pandy
* Date: 2005-11-25
* Time: 14:26:46
* To change this template use File | Settings | File Templates.
*/
public class DownHtml extends javax.servlet.GenericServlet{
public void service(ServletRequest req,ServletResponse rep)
{
try{
HttpServletRequest request=(HttpServletRequest)req;
String htmlbody = request.getParameter("htmlbody");
String type=request.getParameter("type");
if(type==null) type="xls";
htmlbody=new String(htmlbody.getBytes("iso8859-1"),"gbk");
htmlbody=htmlbody.replaceAll("border=\"0\"","border=\"1\"");
htmlbody=htmlbody.replaceAll("border=0","border=1");
htmlbody=htmlbody.replaceAll("border='0'","border='1'");
StringBuffer temp=new StringBuffer();
temp.append("<html>\n");
temp.append("<meta http-equiv=\"Content-Type\" content=\"APPLICATION/OCTET-STREAM; charset=gbk\">");
temp.append("<body>\n");
temp.append(htmlbody+"\n");
temp.append("</body>\n");
temp.append("</html>\n");
String content = temp.toString();
String filepath="c:\\temp."+type;
FileUtil.setFileCnt(filepath,content);
javax.servlet.http.HttpServletResponse response=(HttpServletResponse)rep;
ServletOutputStream out=response.getOutputStream();
response.setContentType("APPLICATION/OCTET-STREAM;charset=gbk");
response.setHeader("Content-disposition","attachment;filename=\"state."+type+"\"" );
File f=new File(filepath);
BufferedInputStream bufferedInput =new BufferedInputStream(new FileInputStream(f));
byte[] buffer=new byte[1024];
int i;
while((i=bufferedInput.read(buffer))!=-1){
out.write(buffer,0,i);
}
bufferedInput.close();
out.flush();
out.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("servlet Error:"+e.getMessage());
}
}
}