On 7/17/07, Bibs L <[EMAIL PROTECTED]> wrote:

Hi, I need some help woth downloading .CSV file with the regular
ServletResponseObject, it is adding unwanted characters (2 boxes) in the end
of the file when I download it.  Your help would be greatly appreciated!


This really is not related to Commons in any way that I can see, but...

 I have a download.jsp file


This is your problem. Move your code to a servlet. The extra characters are
almost certainly spaces or line breaks from your JSP page.

--
Martin Cooper


, that calls a manage bean downloadfile.java to render a file, it is all
working well with the excaption of downloading .CSV file.  The problem is
that when I try to download a CSV file, by clickin on the link, thats calls
the Download.java bean which set the Response object, and opens up the
"Download File Diaglog - Open/Save As", when I open/save as the CSV file, it
added unwanted characters at the very bottom of the file.  Even when I
tested to upload a totally empty file, when I download it, it added the
unwanted characters (2 Boxes) , where it should have been empty.

  Orignally, I have the <html><body>..etc tags on the download.jsp, and
all of those HTML code were added to the end of the CSV file in addition to
the unwanted file.  So, I removed all of the unnesscary <html> tags, and the
HTML codes are gone from the CSV file, but the unwanted characters are still
being added at the end of the file.  I have no idea how it got
there.  PLEASE HELP!

  ---------------------------------------------------
  Download.jsp:
  <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
  <%@ page import="java.util.ResourceBundle" %>

<%@ page import="com......bean.DownloadFileBean" %>
  <f:loadBundle basename=".....nl.Resource_en" var="msgBundle" />

  <%
  javax.faces.context.FacesContext facesContext = null;
  ResourceBundle messages = ResourceBundle.getBundle
("com......nl.ErrorMessages");
  LogServices LOG = LogServicesFactory.getInstance().createLogServices(
DownloadFileBean.class);

  try{

  //get an instance from faceContext
  facesContext = javax.faces.context.FacesContext.getCurrentInstance();
  DownloadFileBean downloadFileBean =
(DownloadFileBean)facesContext.getApplication().getVariableResolver().resolveVariable(facesContext,
"downloadFileBean");

  String result = downloadFileBean.DownloadFile();



  } catch (Exception e) {
  LOG.error("Exception : RenderFile.jsp - " + e.getMessage(), e);

  } finally {
  if (facesContext != null) facesContext = null;
  }
  %>


  ---------------------------------------------------
  DownloadFile.Java:

   public boolean DownloadFile (){

  boolean result = false;
  FacesContext faces = null;
  HttpServletResponse response = null;
  File file = null;
  FileInputStream fileIn = null;
  ServletOutputStream output = null;

    try{

   MyFileBean myFileBean = (MyFileBean)getBean("myFileBean");

   String fileName = myFileBean.getRenderingFileName();
   String filePath = myFileBean.getRenderingFilePath();
   String fileFullPath = myFileBean.getRenderingFilePath() + fileName;
   LOG.debug("file full path  = " + fileFullPath);

   if (fileFullPath == null) {
          LOG.debug("file path is null...");
          return result;
         }

         file = new File(fileFullPath);

   if(file.exists() == false){
    LOG.debug(fileName + " - file not found...");
    return result;
   }
     faces = FacesContext.getCurrentInstance();
   response = (HttpServletResponse) faces.getExternalContext
().getResponse();

      long startTime = System.currentTimeMillis();

      fileIn = new FileInputStream(file);
   output = response.getOutputStream();
   response.setContentType("application/octet-stream");
   response.setHeader("Content-Disposition","attachment; filename=\"" +
file.getName() + "\"");
   IOUtils.copy(fileIn, output);
   output.flush();
   faces.responseComplete();

   long endTime = System.currentTimeMillis();

   result = true;
   LOG.debug("Total Time Taken to download: "+(endTime - startTime) + "
ms");

  } catch (FileNotFoundException e) {
   LOG.error("FileNotFoundException : DownloadFileBean.java - " +
e.getMessage(), e);
  } catch (IOException e) {
   LOG.error("IOException : DownloadFileBean.java - " + e.getMessage(),
e);
  } catch (Exception e) {
   LOG.error("Exception : DownloadFileBean.java - " + e.getMessage(), e);
  } finally {
   //Close output and input resources.
   try {

    if (faces != null) faces = null;
    if (response != null) response = null;
    if (file != null) file = null;
    if (output != null) output.close();
   } catch (Exception e) {
    LOG.error("Exception : DownloadFileBean.java - Closing objects " +
e.getMessage(), e);
   }
  }
  LOG.debug(">>>END - DownloadFileBean : downloadFile ");
  return result;
}

  ----------------------------------------------------------
  Unwanted Code added to CSV File: (Used to be like this before I removed
all the HTML tags from Download.jsp)


      <META http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">     <META name="GENERATOR" content="IBM Software
Development Platform">        <TITLE>Render
File</TITLE>    </HEAD>                              <body
class="bodyWithinFrame">    <form id="RenderFileForm" method="post"
action="/Download.jsp" enctype="multipart/form-data">                  4
unwanted boxes...

      <input type="hidden" name="RenderFileForm" value="RenderFileForm"
/></form>    </body>            </HTML>


  ----------------------------------------------------------
  Unwanted Code added to CSV File: (after I removed all the HTML tags from
Download.jsp)

  2 boxes (I can't copy and pasted the unwanted boxes into the email.)


---------------------------------
Be a better Heartthrob. Get better relationship answers from someone who
knows.
Yahoo! Answers - Check it out.

Reply via email to