Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    147

    [java] Salvare immagine

    Ciao,
    ho la necessità di salvare un'immagine prefissata su una macchina quando si accede ad una pagina html.
    E' possibile farlo? considerando che non deve essere richiesto nessun messaggio di conferma

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Spiegati meglio: la vuoi salvare da un'applicazione che gira sulla macchina e da cui accedi alla pagina html, oppure da un applet, oppure...?

    Comunque, per salvare immagini da rete, io faccio così

    codice:
    BufferedInputStream bis = new BufferedInputStream((new URL(tua_url])).openStream(), 4096);
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(localFileName), 4096);
    
    byte[] buf=new byte[4096];
    int byteRead;
    while ((byteRead=bis.read(buf,0,4096))>=0) {
      bos.write(buf,0,byteRead);
    }
    bis.close();
    bos.flush();
    bos.close();
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    147
    Fa al caso mio, ho una servlet che viene passata in un url che mi crea un immagine, ma con il tuo codice mi crea un immagine di dimensione 0, mentre se eseguo esclusivamente la url, l'immagine viene creata.


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Posteresti un po' più di codice? Magari succede un qualche inghippo da qualche parte: stai gestendo le eventuali eccezioni?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    147
    Ho usato il tuo codice, l'immagine che deve essere create ha dimensione di 35 kb.
    E non si verifica nessun eccezione, ed ho messo tutto in un blocco try/catch

    codice:
    BufferedInputStream bis = new BufferedInputStream((new URL("http://macchina/servlet......")).openStream(), 4096);
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("pippo.jpg"), 4096);
    
    byte[] buf=new byte[4096];
    int byteRead;
    while ((byteRead=bis.read(buf,0,4096))>=0) {
      bos.write(buf,0,byteRead);
    }
    bis.close();
    bos.flush();
    bos.close();

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ti posto tutta la mia servlet

    codice:
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.net.*;
    
    public class SavePicture extends HttpServlet {
      
      private String url;
    
      public void init(ServletConfig config) throws ServletException {
        // Always call super.init
        super.init(config);
      }
    
      public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
        url = request.getParameter("imgurl");
        try {
          BufferedInputStream bis = new BufferedInputStream((new URL(url)).openStream(), 4096);
          BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\immagine.jpg"), 4096);
          byte[] buf=new byte[4096];
          int byteRead;
          while ((byteRead=bis.read(buf,0,4096))>=0) {
            bos.write(buf,0,byteRead);
          }
          bis.close();
          bos.flush();
          bos.close();
        }
        catch (Exception e) {
          System.out.println(e.toString());
        }  
      }
    }
    e da browser, facendo

    Mi viene salvato il logo di google in immagine.jpg. Sei sicuro del percorso dell'immagine che gli passi?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.