2010-08-09 4 views
0

Voici mon code pour récupérer une image à partir d'un emplacement de serveur dans un dossier de service Web "web content".Récupération d'une image à partir du serveur

// imports removed 

public class WebService { 

    public int writeToFileImage(int a) throws IOException{ 

     File file =new File("sdcard/myImage.jpg"); 
     file.createNewFile(); 

     URL u = new URL("http://172.29.26.40:8080/ExampleService/demo.jpg"); 
     URLConnection uc = u.openConnection(); 
     uc.connect(); 
     InputStream in = uc.getInputStream(); 
     FileOutputStream out; 
     out = new FileOutputStream(file); 
     final int BUF_SIZE = 1 << 8; 
     byte[] buffer = new byte[BUF_SIZE]; 
     int bytesRead = -1; 
     while((bytesRead = in.read(buffer)) > -1) { 
      out.write(buffer, 0, bytesRead); 
     } 
     in.close(); 
     out.close(); 
     return a; 
    } 
} 

Mais je reçois une exception:

SOAP Response Envelope 
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
- <soapenv:Body> 
- <soapenv:Fault> 
    <faultcode>soapenv:Server.userException</faultcode> 
    <faultstring>java.net.ConnectException: Connection timed out: connect</faultstring> 
- <detail> 
    <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">01HW040207</ns1:hostname> 
    </detail> 
    </soapenv:Fault> 
    </soapenv:Body> 
    </soapenv:Envelope> 

Quelle pourrait être la cause de l'erreur?

+0

avez-vous essayé d'accéder à cette URL avec votre navigateur web? Peut-être que la ressource n'est tout simplement pas disponible? parce que je ne peux pas l'atteindre d'ici ... – Sephy

+0

J'espère que vous êtes clair dans votre description de ce que vous voulez faire. De votre code, il semble que vous voulez récupérer l'image d'un serveur dans la carte SD de votre appareil. En général, vous ne rendrez pas le port 8080 public. Assurez-vous toutefois qu'il est accessible depuis votre émulateur. Les termes SOAP, WebService ne devraient pas être liés à cette simple tâche de télécharger une image sur un appareil. – dipu

Répondre

0

Je sais ce post est assez vieux mais il y a une grande bibliothèque downloader image au github

Android Image Loder

il fonctionne parfaitement, il comprend également le cache (où vous pouvez également désactivé) télécharger multi tâche et etc.

applaudissements espérons que cette aide ...

Questions connexes