Браузер просит Android HttpService показать изображение - PullRequest
1 голос
/ 11 марта 2012

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

<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? Спасибо.

1 Ответ

0 голосов
/ 12 марта 2012

Работает отлично!Моя ошибка была в том, что я написал:

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

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

Я должен написать так:

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

Спасибо.

...