I think this is your problem... FileInputStream fin = (FileInputStream) in;

Do you need to do this?
Can you do RcsaPOIEventListner.readExcelStream(in);

The input stream is coming from the request which is not necessarily saved to 
disk / read from a FileInputStream.

Kirthi wrote:
I am having problems with the FileUpload in struts.

I am uploading an Excel File through browser and sending to Struts Action
Class, handling it with FormFile. I am casting this FormFile to
FileInputStream which is working fine.

But when I am deleting some of the rows in that excel file and uploading it
again its giving me a ClassCastException when converting the Form File to
FileInputStream.

I have no idea y its happening like this. Can any one help me with this?

Thanks

Here is the error I am getting

root cause
java.lang.ClassCastException
        at rcsa.struts.ExcelFileUpload.execute(ExcelFileUpload.java:48)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:198)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)

******************************************************************************************

Here is the code

import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.http.*;

import org.apache.struts.upload.FormFile;
import org.apache.struts.action.*;

import rcsa.poi.RcsaPOIEventListner;
import rcsa.exceptions.RcsaException;
import rcsa.dao.OpRiskSSheet;
import rcsa.misc.ErrorHandler;

public class ExcelFileUpload extends Action {
        
//       --------------------------------------------------------- Instance
Variables
        String target;

        // --------------------------------------------------------- Methods

/** * Method execute
         * @param mapping
         * @param form
         * @param request
         * @param response
         * @return ActionForward
         */
        public ActionForward execute(
                ActionMapping mapping,
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response) throws IOException, 
ServletException,
RcsaException{
                        
                ActionMessages errors = new ActionMessages();
                if(form != null){
                        ExcelFileUploadForm excelForm = (ExcelFileUploadForm) 
form;
                        FormFile formFile = excelForm.getExcelFile();
                        InputStream in = (InputStream) 
formFile.getInputStream();
                        FileInputStream fin = (FileInputStream) in;             
        errors.clear();
                        RcsaPOIEventListner.readExcelStream(fin);
                        //errors = new ErrorHandler(opSheet, 
errors).checkErrors();
                        if(errors.isEmpty()){
                                target = "success";
                        }else{
                                target = "failure";                   
                        }
                }else{
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("UNABLE TO LOCATE THE EXCEL FILE", false));
                        target = "failure";
                }
                saveErrors(request, errors);
                return mapping.findForward(target);

        }

}


**********************************************************************

import org.apache.struts.validator.ValidatorForm;
import org.apache.struts.upload.FormFile;
        
        /**
         [EMAIL PROTECTED]
         *
         */

        /**
         *Form bean for File Upload.
         *
         */
public class ExcelFileUploadForm extends ValidatorForm{
        
        private FormFile excelFile;

        /**
         * @return Returns the theFile.
*/ public FormFile getExcelFile() {
            return excelFile;
          }
/**
          * @param theFile The FormFile to set.
          */
          public void setExcelFile(FormFile excelFile) {
            this.excelFile = excelFile;
          }
}




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to