Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2238 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  upload fichier (application serveur?)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

upload fichier (application serveur?)

n°1518309
felben86
Posté le 22-02-2007 à 14:26:05  profilanswer
 

Bonjour,
je fait un applet java que le client peux executer par son navigateur.
 
Il faut qu'il puisse uploader un fichier, le parcours de son DD est fait.
 
maitenant il me faut le reste et je sais vraiment pas par ou commencer.
 
il faut une application serveur qui tourne aussi?
 
ou le client tout seul peux ecrire sur le serveur?
je sais meme pas comment permettre au client d'uploader un fichier texte
 
j'aimerais les lignes directrices (methodes, variables..., socket...FTP, HTTP..)
 
merci

mood
Publicité
Posté le 22-02-2007 à 14:26:05  profilanswer
 

n°1518364
felben86
Posté le 22-02-2007 à 15:22:11  profilanswer
 

J'ai reussi a  uploader un fichier texte mais je pense pas que ma méthode soit optimale : regarder ce lien c est exactement ce que je fait : 2 classes (c est facil).
http://www.developpez.net/forums/s [...] p?t=128204
 
mais cependant j'éprouve quelques problemes de connections (si j'ai filleZilla aussi connecté)
 
mon application doit permettre a plusieurs utilisateurs (voir plein) d'uloader des mp3
 
Quelle méthode me conseignez vous?
merci beaucoups


Message édité par felben86 le 24-02-2007 à 12:11:28
n°1518579
felben86
Posté le 22-02-2007 à 19:26:02  profilanswer
 

cette méthode creer une socket sur host (exemple ftpperso.free.fr)
et ensuite va executer des commandes sur le serveur de type UNIX
 
exemple de connexion (login : )
        connectionSocket = new Socket(host, port);
        outputStream = new PrintStream(connectionSocket.getOutputStream());
        inputStream = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
login :  
      outputStream.println("user " + username);
      return reply = inputStream.readLine();
 
upload :  
       RandomAccessFile infile = new RandomAccessFile(fileName, "r" );
       FileInputStream fileStream = new FileInputStream(infile.getFD());
 
       outputStream.println("stor fichier.txt c:\fichier.txt" );
       if (inputStream.readLine() est une bonne reponse)
      {
                OutputStream out = pasvSocket.getOutputStream();
                byte b[] = new byte[BLOCK_SIZE];
                int amount;
                while ((amount = in.read(b)) > 0)
                {
                    out.write(b, 0, amount);
                 }
      }
 
 
il y a des erreurs mais c est juste pour que vous voyez la "geule du code" et me dire
si c'est une bonne méthode sachant que beaucoups d'utilisateurs vont se connecter en meme temps.
bonne journée


Message édité par felben86 le 24-02-2007 à 11:58:15
n°1756533
Gilgamesh ​d'Uruk
Lui-même
Posté le 07-07-2008 à 19:39:38  profilanswer
 


Il y a 2 jar à installer :
 
commons-io-1.3.2.jar
commons-fileupload-1.1.1.jar
 
 


import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.io.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.FileItem;
import java.util.List;
import java.util.Iterator;
import org.apache.commons.fileupload.*;
import java.util.ResourceBundle;
 
public class uploadAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                                 HttpServletResponse response) {
 
        System.out.println(request.getParameter("test" ));
 
        doProcess(request, response);
 
        return null;
    }
 
    protected void doProcess(HttpServletRequest req, HttpServletResponse resp) {
 
        String dirImg = "chemin_sur_le_serveur" ;
        HttpServletRequest request = req;
        String fileName = "";
        InputStream is = null;
 
        DiskFileItemFactory factory = new DiskFileItemFactory(4096000,
                new File(System.getProperty("java.io.tmpdir" )));
        ServletFileUpload sfu = new ServletFileUpload(factory);
        List<FileItem> fileItems = null;
        try {
            fileItems = sfu.parseRequest(request);
        } catch (FileUploadException ex) {
        }
        Iterator<FileItem> it = fileItems.iterator();
 
        while (it.hasNext()) {
            FileItem fileItem = it.next();
            if (!fileItem.isFormField()) {
                fileName = fileItem.getName();
                System.out.println(fileName);
                try {
                    is = fileItem.getInputStream();
                    OutputStream os = new FileOutputStream(
                            dirImg + fileName);
                    int bytesRead = 0;
                    byte[] buffer = new byte[512 * 1024];
                    while ((bytesRead = is.read(buffer, 0, 512 * 1024)) != -1) {
                        os.write(buffer, 0, bytesRead);
                    } //fin while
                    os.close();
                    is.close();
 
                } catch (IOException ex1) {
                }
            }
        }


---------------
Nation spatiale : la chaîne de l'Arche interstellaire.
n°1756852
Bidem
Posté le 08-07-2008 à 14:10:06  profilanswer
 

Bravo le remontage de post qui date de un an pour donner une solution qui n'a pas grand chose à voir (il n'avais pas de server d'application et encore moins d'appli struts)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  upload fichier (application serveur?)

 

Sujets relatifs
Une commande shell unix pour faire un POST Http d'un fichier ?Construction d'application contextuelle
Comment modifier le contenu dun fichier avec ofstream ou autre?recherche de script permettant de récupérer le contenu d'un fichier
verifier fichier (extension, type mime...) depuis un applet javanom fichier
imprimer un fichier excel depuis visual basic 6parser un fichier html avec php
Upload de fichier sur un disque depuis une page asp.net 
Plus de sujets relatifs à : upload fichier (application serveur?)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR