淺談如何實(shí)現(xiàn)JSP上傳圖片無(wú)組件化
從JSP頁(yè)使圖片以JPEG編碼后存儲(chǔ)在指定文件夾中。這種JSP上傳圖片方式與組件上傳相比似乎笨拙而又不能對(duì)文件屬性進(jìn)行操作,但的確可以輕松實(shí)現(xiàn)JSP上傳圖片的功能。
uploadimage1.jsp實(shí)現(xiàn)構(gòu)建一個(gè)表單,提交用于為圖片重命名的參數(shù),以及圖片文件。
- <%...@ page contentType="text/html; charset=gbk" %>
- <%...@ page language="java" %>
- <HTML>
- <HEAD>
- <TITLE>DATABASE< SPAN>TITLE>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- < SPAN>HEAD>
- <FORM METHOD=POST ACTION="uploadimage2.jsp">
- 人物:<INPUT TYPE="text" NAME="name"><BR>
- 圖片:<INPUT TYPE="file" NAME="image"><BR>
- <INPUT TYPE="submit" value="提交">
- < SPAN>FORM>
- < SPAN>BODY>
- < SPAN>HTML>
uploadimage1.jsp實(shí)現(xiàn)獲取用戶提交參數(shù)為要存儲(chǔ)的圖片命名,以字符的形式獲取上傳的圖片,進(jìn)一步轉(zhuǎn)化為輸入流,最終完成JSP上傳圖片的功能。
- <%...@ page contentType="text/html;charset=gb2312"%>
- <%...@ page import="java.util.*"%>
- <%...@ page import="java.text.*"%>
- <%...@ page import="java.io.*"%>
- <%...@ page import="com.sun.image.codec.jpeg.*"%>
- <%...@ page import="java.awt.image.*"%>
- <%...@ page import="java.awt.*"%>
- <%...
- String name=request.getParameter("name");
- name=new String(name.getBytes("ISO-8859-1"));
- String ima=request.getParameter("image");
- try{
- String path=request.getRealPath("/");
- FileOutputStream ot = new FileOutputStream(path+name+".jpg");
- // ServletOutputStream ot=response.getOutputStream(); //也可以直接輸出顯示
- FileInputStream in=new FileInputStream(ima);
- JPEGImageDecoder jpgCodec = JPEGCodec.createJPEGDecoder(in);
- BufferedImage image = jpgCodec.decodeAsBufferedImage();
- JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(ot);
- encoder.encode(image);
- in.close();
- ot.close();
- out.print("JSP上傳圖片成功!<BR>");
- //加載上傳成功的圖片
- out.print("<IMG width=200 height=200 src='"+name+".jpg' />");
- }
- catch(Exception e)
- {
- System.out.print(e.toString());
- }
- %>
實(shí)現(xiàn)JSP上傳圖片無(wú)組件化就為大家介紹到這里。
【編輯推薦】