У меня вопрос о том, как обрабатывать ответы типа image / gif на стороне клиента, любое предложение будет отличным
Есть сервис, который отвечает за извлечение изображения (только по одному каждый раз в данный момент) из базы данных. Код что-то вроде,
JDBC Connection
Construct MYSQL query.
Execute query
If has ResultSet, retrieve first one {
//save image into Blob image, “img” is the only entity in the image table.
image = rs.getBlob("img");
}
response.setContentType("image/gif"); //set response type
InputStream in = image.getBinaryStream(); //output Blob image to InputStream
int bufferSize = 1024; //buffer size
byte[] buffer = new byte[bufferSize]; //initial buffer
int length =0;
//read length data from inputstream and store into buffer
while ((length = in.read(buffer)) != -1) {
out.write(buffer, 0, length); //write into ServletOutputStream
}
in.close();
out.flush(); //write out
код на стороне клиента
....
imgform.setAction(GWT.getModuleBaseURL() + "serviceexample/ImgRetrieve");
....
ClickListener {
OnClick, then imgform.submit();
}
formHandler {
onSubmit, form validation
onSubmitComplete
??????? //handle response, and display image
**Here is my question, i had tried
Image img = new Image(GWT.getHostPageBaseURL() +"serviceexample/ImgRetrieve");
mg.setSize("300", "300");
imgpanel.add(img);
but i only got a non-displayed image with 300X300 size.**
}
Итак, как мне обращаться с ответом в этом случае?
Спасибо