<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <html:html locale="true"> <head> <title>Struts File Upload and Save Example</title> <html:base/> </head> <body bgcolor="white"> <html:form action="/FileUploadAndSave" method="post" enctype="multipart/form-data"> <table> <tr> <td align="center" colspan="2"> <font size="4">File Upload on Server</font> </tr> <tr> <td align="left" colspan="2"> <font color="red"><html:errors/></font> </tr> <tr> <td align="right"> File Name </td> <td align="left"> <html:file property="theFile"/> </td> </tr> <tr> <td align="center" colspan="2"> <html:submit>Upload File</html:submit> </td> </tr> </table> </html:form> </body> </html:html> /................................../ <html> <head> <title>Success</title> </head> <body> <% String fileName=(String)request.getAttribute("fileName"); %> <p align="center"><font size="5" >File Successfully Received</font></p> <p align="center"><a href="FileUploadAndSave/<%=fileName%>">Click here to download</a></p> </body> </html>
/............................../
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <a href ="FileUploadAndSave.jsp">Struts File Upload</a> </body> </html>
/...................................../
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources></data-sources> <form-beans> <form-bean name="FileUploadAndSave" type="com.icon.struts.form.StrutsUploadAndSaveForm"/> </form-beans> <action-mappings> <action path="/FileUploadAndSave" type="com.icon.struts.action.StrutsUploadAndSaveAction" name="FileUploadAndSave" scope="request" validate="true" input="FileUploadAndSave.jsp"> <forward name="success" path="downloaduploadedfile.jsp"/> </action> </action-mappings> </struts-config>
/............................../ package com.icon.action;
import java.io.File; import java.io.FileOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; import com.icon.struts.form.StrutsUploadAndSaveForm; /** * @author Amit Gupta * @Web http://www.roseindia.net * @Email struts@roseindia.net */ /** * Struts File Upload Action Form. * */ public class StrutsUploadAndSaveAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ StrutsUploadAndSaveForm myForm = (StrutsUploadAndSaveForm)form; // Process the FormFile FormFile myFile = myForm.getTheFile(); String contentType = myFile.getContentType(); //Get the file name String fileName = myFile.getFileName(); //int fileSize = myFile.getFileSize(); byte[] fileData = myFile.getFileData(); //Get the servers upload directory real path name String filePath = getServlet().getServletContext().getRealPath("/") +"upload"; /* Save file on the server */ if(!fileName.equals("")){ System.out.println("Server path:" +filePath); //Create file File fileToCreate = new File(filePath, fileName); //If file does not exists create file if(!fileToCreate.exists()){ FileOutputStream fileOutStream = new FileOutputStream(fileToCreate); fileOutStream.write(myFile.getFileData()); fileOutStream.flush(); fileOutStream.close(); } } //Set file name to the request object request.setAttribute("fileName",fileName); return mapping.findForward("success"); } }
/....................../ package com.icon.struts.form;
import org.apache.struts.action.ActionForm; import org.apache.struts.upload.FormFile; /** * @author Amit Gupta * @Web http://www.roseindia.net * @Email struts@roseindia.net */ /** * Form bean for Struts File Upload. * */ public class StrutsUploadAndSaveForm extends ActionForm { /** * */ private static final long serialVersionUID = 1L; private FormFile theFile; /** * @return Returns the theFile. */ public FormFile getTheFile() { return theFile; } /** * @param theFile The FormFile to set. */ public void setTheFile(FormFile theFile) { this.theFile = theFile; } }
I'm sendin complete code when iam click on upload button this eroor is displaying on browser please help me. type Status report message No action instance for path /FileUploadAndSave could be created description The server encountered an internal error (No action instance for path /FileUploadAndSave could be created) that prevented it from fulfilling this request.