  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Struts - A MVC web framework | | Tomcat - JSP/Servlet container | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | | JSP - A mailing list about Java Server Pages specification and reference | |
Struts & Hibernate
|
|
|
  | | | down load! | down load! 2003-09-24 - By Venu Gopal
Back Hai Everybody,
I have an issues when downloading a file using sevlet.
Steps to Produce.. * I have Servlet to check Transaciton type, * if Transaction type is checkout i am calling /dowload servlet using servlet dispatcher RequestDispatcher.forward(request, response) * browser Download dialogue box popus up with options open and save. * I selected save and clicked on ok * SaveAs popup window is displayed. here i am canceling the process. * Now Server gets hangged. I con't make any more requests after this.
Note: It is happeining only for big files. I am streaming data in servlet.
Thanxs in advance.
Venu
Code:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream outStream = null; InputStream inputStream = null;
try { String strFilePath = (String)request.getAttribute( "filePath"); strFilePath = strFilePath.replaceAll("~=~","/"); File targetFile = new File(strFilePath + java.io.File  .separatorChar, (String)request.getAttribute("int_fileName"));
String strMimeType = context.getMimeType(strFilePath + java.io.File + (String)request.getAttribute("int_fileName")); //response.setContentType("application/download");
if(strMimeType == null) strMimeType = "text/plain";
response.setContentType(strMimeType);
if(request.getParameter("context") == null || !request .getParameter("context").equalsIgnoreCase("view")) response.setHeader("Content-Disposition", "attachment;filename=\"" + (String)request.getAttribute("dbName") + "\""); else response.setHeader("Content-Disposition", "filename=\"" + (String)request.getAttribute("dbName") + "\"");
outStream = response.getOutputStream();
inputStream = new BufferedInputStream(new FileInputStream(targetFile));
Enumeration names = request.getParameterNames();
int j = 0;
while(names.hasMoreElements()) { System.out.println(j + " --> " + names .nextElement()); }
int charInput; while( (charInput = inputStream.read()) != -1 ) { System.out.println("Inside 3"); outStream.write((char)charInput); } } catch(Exception e) { System.out.println("Inside 4"); e.printStackTrace(); } finally { outStream.flush(); outStream.close(); inputStream.close(); } } }
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ __ To unsubscribe, send email to listserv@(protected) and include in the body of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
|
|
 |