�@�o�C�i���t�@�C���Ƃ����ƁA�e�L�X�g�t�@�C���ƈقȂ�A���ۂ̃f�[�^�\���������ɂ����������A�Ȃɂ�����Ȃ��̂ƌh������邱�Ƃ������悤�ł��B�������A�o�C�i���t�@�C�����A�v�́ubyte�^�̃f�[�^�̘A�Ȃ�v�ł���ɂ����܂���B
�@�e�L�X�g�t�@�C�����A���邢�͍s�Ƃ����P�ʂœǂݏ��������̂Ɠ��l�A�o�C�i���t�@�C����ǂݏ�������ꍇ�ɂ�byte�l�̒P�ʂŃf�[�^����������A���ꂾ���̂��Ƃł��B
�@�����ł́A�o�C�i���t�@�C�����o�͂̍ł���{�I�ȗ�Ƃ��āA�T�[�o��ɂ���摜�f�[�^�iJPEG�摜�j��ǂݍ��݁A�u���E�U�ɂ��̂܂o�͂��Ă݂܂��傤�B�������A�o�C�i���t�@�C���ڂɏo�͂��邾���ł���Ȃ�A�N���C�A���g����A�N�Z�X�\�ȃf�B���N�g���Ƀt�@�C����z�u���Ă��悢��������܂���B�������A�o�C�i���t�@�C���X�ɑ��ăA�N�Z�X�̉ۂ𐧌䂵�����ꍇ��A�N�Z�X�i�_�E�����[�h�j���Ď��������ȂǂƂ������ꍇ�ɂ́A���̂悤�ȃX�N���v�g���Ԃɉ�邱�Ƃŗe�Ղɐ��䂪�ł��܂��B
�@�ȉ���displayImage.jsp�́A�w�肳�ꂽJPEG�摜��ǂݍ��݁A���̂܂܃u���E�U�ɏo�͂��邽�߂�JSP�t�@�C���ł��BJPEG�摜�̎w��́A�N�G��������čs�����̂Ƃ��܂��B
<%@ page contentType="image/jpeg" import="java.io.*" %>
<%
final String IMAGE_PATH="C:\\image";
File objFle=new File(IMAGE_PATH,request.getParameter("image"));
if(objFle.getParent().equals(IMAGE_PATH)){
FileInputStream objFis=new FileInputStream(objFle);
ServletOutputStream objSos=response.getOutputStream();
int i;
while((i=objFis.read())!=-1){objSos.write(i);}
objSos.close();
} else {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
}
%>
�@���̃R�[�h�̎��s���ʂ͈ȉ��̂悤�ɂȂ�܂��B
�@�������Ă݂�ƁA�o�C�i���t�@�C�����o�͂̏��������ɃV���v���ł��邱�Ƃ���������ɂȂ�̂ł͂Ȃ��ł��傤���BFileInputStream#read���\�b�h��-1��Ԃ��܂Łi�t�@�C���̏I�[�ɓ��B����܂Łj���Ƀo�C�g�f�[�^��ǂݍ���ł����AServletOutputStream#write���\�b�h�ł��̂܂o�͂���\�\�������ꂾ���̂��Ƃł��BServletOutputStream�N���X�́A�������܂ꂽ�f�[�^���u���E�U�ɑ��Ă��̂܂܁i������ϊ��Ȃǂ̏�������邱�ƂȂ��j���̃o�C�g�f�[�^�Ƃ��ďo�͂��邽�߂̃N���X�ł��B
�@�Ȃ��A�{��ł̓t�@�C���̓ǂݍ��݂ɍۂ��āA���炩���߃p�X�����肵�A�Ȃ�����File#getParent���\�b�h�ōŏI�I�ɐ������ꂽ�p�X���A���Ƃ��ƎQ�Ƃ������ꂽ�f�B���N�g�������̂��̂ł��邩�ǂ������m�F���Ă��܂��B�������N�G����玩�R�Ƀ��[�g����̃p�X��ݒ�ł���悤�ɂ��Ă��܂����ꍇ�A�T�[�o���̃t�@�C�������R�ɓǂݎ���Ă��܂��댯��������܂��̂ŁA���ꂮ������ӂ��Ă��������B
Copyright © ITmedia, Inc. All Rights Reserved.
��IT eBook