2012-03-11 3 views
1

Я создал http-сервис на Android. Теперь я пытаюсь заставить HttpService показать мне изображение в браузере. Я пишу URL в браузере (например, http://127.0.0.1:6789/home.html (я играю с эмулятором)). И сервис HTTP посылает мне HTML, как показано ниже:Запросы браузера android HttpService, чтобы показать изображение

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
<title>File Upload</title> 
</head> 
<body> 
<td><img src='127.0.0.1:6789/1.png'/></td><br> 
<td><img src='127.0.0.1:6789/2.png'/></td><br> 
</body> 

Некоторый код со стороны сервера является:

/*some variables*/  
private static final String IMAGE_PATTERN = "/*.png"; 
/*some code*/ 
registry.register(IMAGE_PATTERN, new ImageCommandHandler(context)); 

ImageCommandHandler:

@Override 
public void handle(HttpRequest request, HttpResponse response, 
    HttpContext httpContext) throws HttpException, IOException {   
    final InputStream is = GetInpuStreamFromResource(getContext(), 
      R.drawable.back); 

    HttpEntity entity = new EntityTemplate(new ContentProducer() { 
     public void writeTo(final OutputStream outstream) throws IOException { 
      int bufSize = 0; 
      byte[] buf = new byte[32768]; 
      while(-1!=(bufSize=is.read(buf))){ 
       outstream.write(buf,0,bufSize); 
      } 
      outstream.flush(); 
      outstream.close(); 
      is.close(); 
     } 
    }); 
    response.setHeader("Content-Type", "image/*");  
    response.setEntity(entity); 

или другой способ

@Override 
public void handle(HttpRequest request, HttpResponse response, 
    HttpContext httpContext) throws HttpException, IOException { 

    final File f= new File("/sdcard/Tulips.jpg");  
    String contentType = URLConnection.guessContentTypeFromName(f.getAbsolutePath()); 
    FileEntity entity = new FileEntity(f, contentType);  
    response.setHeader("Content-Type", contentType); 
    response.setEntity(entity); 
} 

Я пробовал в обоих направлениях, но там все равно никаких изображений! Что с этим не так? Как я могу использовать, например, файлы JavaScript? Спасибо.

+0

Посмотрите на это http://stackoverflow.com/questions/2935946/sending-images-using-http-post –

ответ

0

Он отлично работает! Моя ошибка была я писал:

<img src='127.0.0.1:6789/2.png'/> 

Но она возвращает пустую страницу, потому что я пропустил Http: //.

я должен написать, как показано ниже:

<img src='http://127.0.0.1:6789/2.png'/> 

Спасибо.