Cześć,
Pobieram obrazek w następujący sposób:
public AjaxResponse viewerShowImage(
Locale locale,
HttpServletResponse response)
{
InputStream fileContent = null;
try {
List<DmsDTO> dmsRequests = download(162062888L);
DmsDTO result = dmsRequests.get(0);
fileContent = result.getContent().getContent().getInputStream();
long length = result.getLength();
response.reset();
response.setContentLength((int) length);
response.setContentType(result.getContent().getContent().getContentType());
response.setHeader("Cache-Control", "public");
response.setHeader("Pragma", "public");
response.setHeader("Expires", "20");
try {
FileCopyUtils.copy(fileContent, response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (IOException e) {
log.error("Blad wyswietlenia IO", e);
}
return AjaxResponse.success(response);
} catch (Exception ioe) {
log.error("Error FILE CONTENT", ioe);
log.error("Error downloading files", ioe);
throw new AexServiceException("Error downloading",
ioe);
}
}
Ogólnie obrazek jest pobrany i przekazany do jspx, ale jak tam go wyświetlić za pomocą jQuery?
function renderImage(imgUrl, canvasContainer) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
canvasContainer.appendChild(canvas);
$.ajax({type: "POST", url: '${viewerShowImage}',
headers: { 'Content-Type': 'image/jpeg;charset=UTF-8'},
async: true, data : {
} ,
success:function (message) {
console.log("test: "+message);
$("canvas").load(message);
},
error: function() {
alert("error");
addMessage({ type: 'ERROR', messageText: 'Wystąpił błąd podczas wyświetlania obrazka.'});
}
});
}
Próbuję to jakoś połączyć. Jakbym miał url do obrazka to nie problem, a tak to nie wiem?