淺談如何實現(xiàn)JSP上傳圖片無組件化
作者:329087553
用戶通過網(wǎng)頁像提交參數(shù)一樣向服務(wù)器上傳圖片,這在JSP應(yīng)用中很常用,這里將用一個簡單的方法,通過以字符串的形式獲取用戶提交的圖片,再把圖片的字符形式轉(zhuǎn)換成文件輸入流。
從JSP頁使圖片以JPEG編碼后存儲在指定文件夾中。這種JSP上傳圖片方式與組件上傳相比似乎笨拙而又不能對文件屬性進(jìn)行操作,但的確可以輕松實現(xiàn)JSP上傳圖片的功能。
uploadimage1.jsp實現(xiàn)構(gòu)建一個表單,提交用于為圖片重命名的參數(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實現(xiàn)獲取用戶提交參數(shù)為要存儲的圖片命名,以字符的形式獲取上傳的圖片,進(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());
- }
- %>
實現(xiàn)JSP上傳圖片無組件化就為大家介紹到這里。
【編輯推薦】
責(zé)任編輯:彭凡
來源:
51CTO論壇