Upload d'un fichier avec stuts

TaKtOuK541 Messages postés 97 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 26 octobre 2010 - 5 févr. 2010 à 20:12
usefdeisert Messages postés 2 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 24 mai 2011 - 24 mai 2011 à 11:24
bonjour comme le titre indique, j'ai un petit soucie pour faire l'up load d'un fichier avec struts voila mes code:
index.jsp (contien le formulaire)
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html:form action="/index.do?from=sender" method="post" enctype="multipart/form-data">
   <html:file property="fichier"/>

<html:submit value="submit"/>
</html:form>

le bean (UploadActionForm)
package com.myapp.struts;

import org.apache.struts.upload.FormFile;


public class UploadActionForm extends org.apache.struts.action.ActionForm {
  
protected FormFile fichier;

    public FormFile getFichier() {
        return fichier;
    }

    public void setFichier(FormFile fichier) {
        this.fichier = fichier;
    }

    
    public UploadActionForm() {
        super();
        
    }

}

le action bean(UploadAction)
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.myapp.struts;


import java.io.File;
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


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

/**
 *
 * @author Administrateur
 */
public class UploadAction extends org.apache.struts.action.Action {
    
    /* forward name="success" path="" */
    private final static String SUCCESS = "success";

    
  
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
      UploadActionForm myForm = (UploadActionForm)form;

        // Process the FormFile
        FormFile myFile = myForm.getFichier();
        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);
    }
}

stuts-config.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">


<struts-config>
    <form-beans>
        <form-bean name="UploadActionForm" type="com.myapp.struts.UploadActionForm"/>
    
    </form-beans>
    
    <global-exceptions>
    
    </global-exceptions>

    <global-forwards>
        <forward name="welcome"  path="/Welcome.do"/>
    </global-forwards>

    [upload/<%=fileName%> Click here to download]



    
</html>

et voila les erreur afficher par tom le chat
java.io.FileNotFoundException: C:\Documents and Settings\Administrateur\Mes documents\NetBeansProjects\upload\build\web\upload\Introduction à  Hibernate.mht (Le chemin d'accès spécifié est introuvable)
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.(FileOutputStream.java:179)
java.io.FileOutputStream.(FileOutputStream.java:131)
com.myapp.struts.UploadAction.execute(UploadAction.java:50)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)



c'est quoi le probleme d'apres vous

2 réponses

usefdeisert Messages postés 2 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 24 mai 2011
24 mai 2011 à 11:23
0
usefdeisert Messages postés 2 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 24 mai 2011
24 mai 2011 à 11:24
Salut taktouk!il faut que tu donnes le chemin complet du fichier et pas que le nom dans le href
0