Demo:servlet实现图片的上传

一个简单的servlet例子,实现图片的上传功能,上传的图片给 ?HttpServletResponse 对象

public class BackGroundLogoServlet extends HttpServlet
{
private static final Logger m_logger=Logger.getLogger (BackGroundLogoServlet. class);

@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
m_logger.debug ( "BackGroundLogoServlet init.");
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException{
response.setContentType( "image/png");
response.setHeader( "Access-Control-Allow-Origin", "*");
String fileName = request.getParameter( "filename");//获取参数值titlebar_logo.png
File file = new File( "D:\\"+ fileName);//读取D:\\titlebar_logo.png图片
FileInputStream fis = null;
BufferedOutputStream out= null;
try
{
fis = new FileInputStream(file);
out = new BufferedOutputStream(response.getOutputStream());
byte[] buffer= new byte[1024];
int len;
while((len=fis.read(buffer))!=-1)
{
//read the file from local disk
//write to client
out.write(buffer, 0, len);
out.flush();
m_logger.debug ( "background pic upload success !");
}
}
catch (FileNotFoundException e)
{
try
{
response.reset();
//set content type once again
response.setContentType("text/html;charset=utf-8" );
//give error message to client
response.getWriter().println( "文件未找到" );
}
catch (IOException e1)
{
e1.printStackTrace();
}
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(fis!= null){
fis.close();
}
if(out!= null){
out.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}

}

posted on 2019-09-10 17:10  激流勇进1  阅读(527)  评论(0编辑  收藏  举报