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