浅谈如何实现JSP上传图片无组件化

开发 后端
用户通过网页像提交参数一样向服务器上传图片,这在JSP应用中很常用,这里将用一个简单的方法,通过以字符串的形式获取用户提交的图片,再把图片的字符形式转换成文件输入流。

从JSP页使图片以JPEG编码后存储在指定文件夹中。这种JSP上传图片方式与组件上传相比似乎笨拙而又不能对文件属性进行操作,但的确可以轻松实现JSP上传图片的功能。

uploadimage1.jsp实现构建一个表单,提交用于为图片重命名的参数,以及图片文件。

  1. <%...@ page contentType="text/html; charset=gbk" %>   
  2. <%...@ page language="java" %>   
  3. <HTML>     
  4. <HEAD>     
  5. <TITLE>DATABASETITLE>     
  6. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">     
  7. HEAD>     
  8. <FORM METHOD=POST ACTION="uploadimage2.jsp">     
  9. 人物:<INPUT TYPE="text" NAME="name"><BR>   
  10. 图片:<INPUT TYPE="file" NAME="image"><BR>     
  11. <INPUT TYPE="submit" value="提交">   
  12. FORM>   
  13. BODY>     
  14. HTML>    

uploadimage1.jsp实现获取用户提交参数为要存储的图片命名,以字符的形式获取上传的图片,进一步转化为输入流,最终完成JSP上传图片的功能。

  1. <%...@ page contentType="text/html;charset=gb2312"%>     
  2. <%...@ page import="java.util.*"%>     
  3. <%...@ page import="java.text.*"%>     
  4. <%...@ page import="java.io.*"%>   
  5. <%...@ page import="com.sun.image.codec.jpeg.*"%>   
  6. <%...@ page import="java.awt.image.*"%>   
  7. <%...@ page import="java.awt.*"%>   
  8.      
  9. <%...   
  10.   String name=request.getParameter("name");   
  11.   name=new String(name.getBytes("ISO-8859-1"));    
  12.   String ima=request.getParameter("image");    
  13.  
  14.   try{   
  15.   String path=request.getRealPath("/");   
  16.   FileOutputStream ot = new FileOutputStream(path+name+".jpg");   
  17. // ServletOutputStream ot=response.getOutputStream(); //也可以直接输出显示   
  18.   FileInputStream in=new FileInputStream(ima);     
  19.   JPEGImageDecoder jpgCodec = JPEGCodec.createJPEGDecoder(in);   
  20.   BufferedImage image = jpgCodec.decodeAsBufferedImage();   
  21.   JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(ot);   
  22.   encoder.encode(image);     
  23.   in.close();   
  24.   ot.close();   
  25.   out.print("JSP上传图片成功!<BR>");   
  26.   //加载上传成功的图片   
  27.   out.print("<IMG width=200 height=200 src='"+name+".jpg' />");   
  28. }   
  29. catch(Exception e)   
  30. {   
  31. System.out.print(e.toString());   
  32. }   
  33. %>    

实现JSP上传图片无组件化就为大家介绍到这里。

【编辑推荐】

  1. 浅谈利用jspsmart实现文件上传下载
  2. 使用JSP页面生成PDF报表
  3. JSP自定义标签定义步骤
  4. 详解测试JSP容器
  5. 介绍JSP HTTP服务器实现的以下特性
责任编辑:彭凡 来源: 51CTO论坛
相关推荐

2009-07-02 13:31:13

JSP组件

2009-06-30 17:28:08

JSP学习

2009-07-06 17:11:38

Servlet文件上传

2009-07-06 16:20:50

JSP自定义标签

2009-07-01 18:41:16

JSP编译

2009-07-02 14:24:02

JSP读取数据库

2009-11-24 16:09:44

PHP Ajax

2009-07-01 10:58:55

JSP网站建设

2009-09-02 13:22:23

C#组件化程序设计

2009-07-07 11:20:12

php jsp

2009-07-06 17:50:13

Java JSP

2009-07-07 14:56:33

JSP连接MySQL

2009-07-07 11:10:01

JSP实现通信

2009-07-07 13:45:04

jspsmart

2022-01-18 08:12:02

Markdown编辑器拍云

2009-02-05 17:09:02

动态图片JSPTomcat

2009-07-07 15:57:29

JSP购物车

2009-06-08 16:44:00

Struts2文件上传

2009-11-24 14:45:08

PHP批量上传图片

2009-07-02 11:25:33

JSP课程
点赞
收藏

51CTO技术栈公众号