从JSP页使图片以JPEG编码后存储在指定文件夹中。这种JSP上传图片方式与组件上传相比似乎笨拙而又不能对文件属性进行操作,但的确可以轻松实现JSP上传图片的功能。
uploadimage1.jsp实现构建一个表单,提交用于为图片重命名的参数,以及图片文件。
- <%...@ 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实现获取用户提交参数为要存储的图片命名,以字符的形式获取上传的图片,进一步转化为输入流,最终完成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());
- }
- %>
实现JSP上传图片无组件化就为大家介绍到这里。
【编辑推荐】