Spring Boot에서 이미지 가져오기
2024. 10. 19. 23:15ㆍJavascript/Sencha
Binary를 직접 가져오는 경우
buttons: [
{
text: 'Generate QR Code',
handler: function(button) {
const urlToEncode = 'https://example.com';
// Directly set the src of the image to the FastAPI or Spring Boot endpoint that returns the image
const qrCodeUrl = '/qrcode?url=' + encodeURIComponent(urlToEncode);
// Add the image component to the form
button.up('form').add({
xtype: 'image',
itemId: 'qrcode',
src: qrCodeUrl,
alt: 'QR Code',
margin: '0 0 10 0',
listeners: {
load: function(imageComponent) {
let imageElement = imageComponent.getEl().dom;
imageComponent.setSize(imageElement.naturalWidth, imageElement.naturalHeight);
}
}
});
}
}
]
Base64로 가져오는 경우
buttons: [
{
text: 'Generate QR Code',
handler: function(button) {
const urlToEncode = 'https://example.com';
Ext.Ajax.request({
url: '/qrcode', // Spring Boot endpoint returning the base64-encoded image
method: 'GET',
params: {
url: urlToEncode // URL to encode in the QR code
},
success: function(response) {
const jsonResponse = Ext.decode(response.responseText);
// Add image with the base64-encoded QR code
button.up('form').add({
xtype: 'image',
itemId: 'qrcode',
src: 'data:image/png;base64,' + jsonResponse.qrCode,
alt: 'QR Code',
margin: '0 0 10 0',
listeners: {
load: function(imageComponent) {
let imageElement = imageComponent.getEl().dom;
imageComponent.setSize(imageElement.naturalWidth, imageElement.naturalHeight);
}
}
});
},
failure: function(response) {
console.log('Server-side failure with status code ' + response.status);
}
});
}
}
]
'Javascript > Sencha' 카테고리의 다른 글
Sencha chart에서 데이터 바인딩하기 (0) | 2024.11.15 |
---|---|
Sencha Ext.Msg.alert에서 클릭시 특정 페이지로 redirect (0) | 2024.10.20 |
Sencha form에 image 추가 (1) | 2024.10.19 |
Sencha panel title click시, 화면 refresh하기 (0) | 2024.10.01 |
Sencha panel에 서버에서 받은 정보를 화면 구성시 출력하기 (0) | 2024.10.01 |