| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  01-06-2007, 17:58 | #1 | 
| Senior Member Iscritto dal: Dec 2004 Città: Napoli 
					Messaggi: 342
				 | 
				
				[JAVA] Servlet lettura file binari
			 
		Salve ho un client (dovrebbe essere un applet) che deve inviare un file binario (non si tratta di un file testuale, ma può essere un immagine, un file zippato, ecc) ad una servlet, la quale riceve lo stream di dati e lo scrive sul disco in un file. Il problema è che il client si collega alla servlet ma non accade nulla, so di certo che il client legge il file lo invia ma la servlet non compie azioni. Perchè? Ho creato la servlet cosi: Codice: public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 
   {
    
    System.out.println("----> Ok Collegato");
    res.setContentType("text/plain");
 
    ServletInputStream fromApplet = req.getInputStream();   
// creo file 
    File ff=new File("/home/pippo/Desktop/prova");
    ff.createNewFile();
   
    FileOutputStream fw= new FileOutputStream(ff);
    
    System.out.println("---> Inizio lettura");
    
    int rb;
    byte[] buff=new byte[200];
    
            while ( ( rb=fromApplet.read(buff) ) !=-1 ) //leggo dal client
            {
             fw.write(buff,0,rb); //scrivo nel file
             
            }
   fw.close();
   fromApplet.close();
    
    
}Questo è il codice del client: Codice:  public ConnectionServlet(String url) throws MalformedURLException, IOException {
        
        byte[] buff=new byte[100];
        
        URL servletURL = new URL("http://localhost:8080/servlet/UploadServletSEG");
        URLConnection servletConnection = servletURL.openConnection();
        
        servletConnection.setDoOutput(true);
        servletConnection.setUseCaches(false);
        servletConnection.setDoInput(true);
        
        OutputStream toServlet=servletConnection.getOutputStream();
        
        FileInputStream fr = new FileInputStream("/home/pippo/Desktop/prova_read"); //apro file
        int rb;
        
       FileOutputStream fw= new FileOutputStream(ff);
            
                while (  (rb=fr.read(buff)) != -1 )
                { 
                    toServlet.write(buff,0,rb);  //invio alla servlet
 
                    System.out.println("Lettura"+rb);
                }
        fr.close();
        toServlet.close();
				__________________ Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) Ultima modifica di osa : 01-06-2007 alle 18:01. | 
|   |   | 
|  01-06-2007, 23:20 | #2 | 
| Senior Member Iscritto dal: Nov 2004 Città: Tra Verona e Mantova 
					Messaggi: 4553
				 | 
		Prova ad aggiungere al client (alla fine): servletConnection.getResponseCode(); 
				__________________ Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! | 
|   |   | 
|  10-06-2007, 21:12 | #3 | |
| Senior Member Iscritto dal: Dec 2004 Città: Napoli 
					Messaggi: 342
				 | Quote: 
   
				__________________ Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) | |
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 11:30.









 
		 
		 
		 
		








 
  
 



 
                        
                        










