JSP上传图片到数据库的例子

合集下载

用JSP实现拖拽上传文件和文件夹

用JSP实现拖拽上传文件和文件夹

用JSP实现拖拽上传文件和文件夹JSP(JavaServer Pages)是一种动态网页技术,允许将Java代码嵌入到HTML页面中。

拖拽上传文件和文件夹是一种常见的网页交互功能,可以使用JSP来实现。

在实现拖拽上传文件和文件夹功能之前,首先需要了解一下拖拽上传的基本原理。

在HTML中,可以通过Drag and Drop API来获取拖拽的文件和文件夹。

然后,可以使用JavaScript将拖拽的文件和文件夹发送到服务器端,服务器端可以使用JSP来处理这些文件和文件夹。

以下是一个基本的实现拖拽上传文件的JSP页面的示例:```htmlpageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>拖拽上传文件</title><script>function handleDrop(event)event.preventDefault(; // 禁止浏览器打开文件var files = event.dataTransfer.files;//遍历上传的文件for (var i = 0; i < files.length; i++)var file = files[i];// 创建FormData对象,用于发送文件到服务器var formData = new FormData(;formData.append("file", file);// 创建一个XMLHttpRequest对象,发送文件到服务器var xhr = new XMLHttpRequest(;xhr.open("POST", "upload.jsp", true);xhr.onreadystatechange = functioif (xhr.readyState == 4 && xhr.status == 200)//上传成功console.log(xhr.responseText);}};xhr.send(formData);}}</script></head><body ondragover="event.preventDefault(;"ondrop="handleDrop(event);"><h1>拖拽上传文件</h1><p>将文件拖拽到此处上传</p></body></html>```当文件被拖拽到页面的时候,`handleDrop(`函数会被调用。

java中图片上传并在jsp页面显示

java中图片上传并在jsp页面显示

image mediumblob not null,
description varchar(100) null
);
5,应用程序的目录结构
%catalina_home%\webapps\demo
------test_upload.htm
------upload.jsp
------WEB-INF
|-------commons-fileupload-1.0.jar
|----src
|----com
|-----cf
<html>
<head>
<title>
上传测试
</title>
<body>
<form action="upload.jsp" enctype="multipart/form-data" method="post">
your name:
<br>
<input type="text" name="name">
6,web.xml文件内容
<?xml version="1.0"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"/j2ee/dtds/web-app_2_3.dtd">
<%
DiskFileUpload upload=new DiskFileUpload();

图片上传的设计与实现

图片上传的设计与实现

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图片上传的设计与实现二.设计目的运用jsp开发工具和数据库开发一个小型的基于Web系统。

要求提交详细的设计说明书及各步骤所需图表和文档,对复杂的代码段和程序段,应画出程序流程图。

在界面设计中,画出每个窗口的布局。

通过本实践性教学环节,能较好地巩固jsp基本知识,jsp连接数据库实现动态网页。

三.需求分析如今时代,互联网已经进入我们的生活,而互联网上就有图片上传,显示,访问等等功能,有着很大的市场空间。

图片上传必须实现:1.数据库访问模块:利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、删除、查询数据表、关闭连接等功能;2.上传模块:通过上传组件实现图片的上传。

3.显示模块:提供图片信息列表的显示效果。

4.查看模块:点击可以显示图片的内容。

四.总体设计图片上传是指客户端通过Web应用程序将本地图片资源传输到服务器上。

在客户端需要显示图片时,服务器端将图片通过网络以流的形式发送给客户端,然后利用不同的形式显示图片。

图片上传必须要对电子相册有,用户注册,用户注册,添加相片,修改相册,用户反馈,管理用户,如图1所示。

图1 总体设计┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1.文件上传组件介绍文件上传组件是一些开源组织发布的针对实现文件上传功能的一组class 文件。

jspSmartUpload和Apache的common-fileupload是两个比较流行的文件上传组件。

这两个组件都可以在JSP中实现文件上传。

本节使用Apache的common-fileupload组件实现图片上传。

2.HTML中文件上传组件介绍HTML中<input type="file"/>元素可以创建文件上传组件。

该控件带有一个文本框和浏览按钮。

使用该组件时要注意以下几点。

图片上传的设计与实现

图片上传的设计与实现

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图片上传的设计与实现二.设计目的运用jsp开发工具和数据库开发一个小型的基于Web系统。

要求提交详细的设计说明书及各步骤所需图表和文档,对复杂的代码段和程序段,应画出程序流程图。

在界面设计中,画出每个窗口的布局。

通过本实践性教学环节,能较好地巩固jsp基本知识,jsp连接数据库实现动态网页。

三.需求分析如今时代,互联网已经进入我们的生活,而互联网上就有图片上传,显示,访问等等功能,有着很大的市场空间。

图片上传必须实现:1.数据库访问模块:利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、删除、查询数据表、关闭连接等功能;2.上传模块:通过上传组件实现图片的上传。

3.显示模块:提供图片信息列表的显示效果。

4.查看模块:点击可以显示图片的内容。

四.总体设计图片上传是指客户端通过Web应用程序将本地图片资源传输到服务器上。

在客户端需要显示图片时,服务器端将图片通过网络以流的形式发送给客户端,然后利用不同的形式显示图片。

图片上传必须要对电子相册有,用户注册,用户注册,添加相片,修改相册,用户反馈,管理用户,如图1所示。

图1 总体设计┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1.文件上传组件介绍文件上传组件是一些开源组织发布的针对实现文件上传功能的一组class 文件。

jspSmartUpload和Apache的common-fileupload是两个比较流行的文件上传组件。

这两个组件都可以在JSP中实现文件上传。

本节使用Apache的common-fileupload组件实现图片上传。

2.HTML中文件上传组件介绍HTML中<input type="file"/>元素可以创建文件上传组件。

该控件带有一个文本框和浏览按钮。

使用该组件时要注意以下几点。

用JSP编写文件上传

用JSP编写文件上传

用JSP编写文件上传袁毅:2000-10-23如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易。

下面的例子只是一个简版package yuanyifileup;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.PageContext;public class yuanyifileup{private ServletRequest request;private ServletResponse response;private ServletConfig config;ServletInputStream DATA;int FormSize;File f1;FileOutputStream os;DataInputStream is;String filename;byte[] b;byte t;boolean flag=false;public yuanyifileup(){ }public void initialize(ServletConfig config,HttpServletRequest request,HttpServlet Response response) throws IOException{this.request=request;this.response=response;this.config=config;DATA = request.getInputStream();FormSize=request.getContentLength();}public void initialize(PageContext pageContext) throws IOException{request=pageContext.getRequest();response=pageContext.getResponse();config=pageContext.getServletConfig();DATA = request.getInputStream();FormSize=request.getContentLength(); }public boolean setFilename(String s) {try{File f1=new File(s);os=new FileOutputStream(f1);}catch(IOException e){return(false);}return(true);}public void getByte(){int i=0;try{is=new DataInputStream(DATA);b=new byte[FormSize];while (true){try{t=is.readByte();b[i]=t;i++;}catch(EOFException e) { break;}}is.close();}catch(IOException e) {}}public boolean save() {int i=0,start1=0,start2=0; String temp="";if (!flag){getByte();flag=true;}try{temp=new String(b,"ISO8859_1");}catch(UnsupportedEncodingException e) {return(false);}start1=temp.indexOf("image/");temp=temp.substring(start1);start1=temp.indexOf("");temp=temp.substring(start1+4);start2=temp.indexOf(";");if (start2!=-1){temp=temp.substring(0,start2);}try{byte[] img=temp.getBytes("ISO8859_1");for (i=0;i<img.length;i++){ os.write(img[i]); }os.close();}catch(IOException e){return(false);}return(true);}如果有不明白的发E-Mail:yymailbox@.Bye }。

SmartUpload

SmartUpload

----作者:张小龙email:zxlxgd@SmartUpload的作用1.SmartUpload的主要作用:主要是完成上传操作,如果想要上传的话,可以直接使用html表单中的file 元素即可。

<form><input type="file" name="file"></form>常见的上传组件:Smartupload, Apache FileUpload2.使用Smartupload上传文件编写一个表单,表单中使用file元素。

<html><head><title>SmartUpload</title></head><body><form action="SmartUpload01.jsp"method="post"enctype="multipart/form-data">用户姓名:<input type="text"name="uname"><br>上传的图片:<input type="file"name="pic"><input type="submit"value="上传"></form></body></html>之后编写jsp文件,接收上传的内容,上传的步骤分为以下几个步骤:1.初始化上下文2.准备上传3.保存文件范例:Smartupload01.jsp:<%@page language="java"import="java.util.*"pageEncoding="gbk"%> <jsp:useBean id="smartupload"class="org.lxh.smart.SmartUpload"/><html><head><title>SmartUpload</title></head><body><%request.setCharacterEncoding("gbk");smartupload.initialize(pageContext);//初始化上传smartupload.upload();//准备上传String name=smartupload.getRequest().getParameter("uname");smartupload.save("upload");//保存文件%><h2><%=name %></h2></body></html>注意:上传文件的时候表单需要封装。

JSP实现图文档在数据库中的操作

JSP实现图文档在数据库中的操作

J P对 数 据 库 的 访 问 主 要 通 过 J B 来 实 现 , S D C J C 足在 J v 序 , 执行 S DB a a程 } 】 QL 语句 的应 用 程 序设
计 接 口,南 J v a a语 言编 写 的类和 接 口组 成 , 能够 为数
务器和 数据库 服务 器相 连 ,使得 各种 信息 交互 向实 时 的数据 库动态 生成 转化 ,从 而对 用户 需求 迅速 作 }反 f {
对代码 进行 转换 编 译 、然 后再 执行 的方 式 ,大大 提 高
了运行 效率 。
l J P技术 优势 S J P继 承 了 Jv S a a语 言的优 势 ,具有 可移 植性 、分
难 度 ,同 时 , 给数据 的 安全带 来 一定 的隐 患 。因此 , 也
直 接将 图像 数据 存储 在数 据库 奖 系表 中 的方法 是非 常
有 跨 平 台 可 重用 性 并 增 强数 据库 的 安 全 性 。在 通 过
JP实 现用 户与服 务 器之 间的交 互操 作 时 , en组 件 S Ba
- 山西 太 原 科 学 技 术 局 风 险 投 资项 口 ( 0 5 2 1 H2 0 0 0 ) 收 稿 日期 ;2 0 —01 ;修 回 日期 ;2 0 —卜2 0 51 —8 0 51 I
应 传 统 的 C I AP 技术 虽 然也 提供 了交 功 能 , G 和 I 但 由于不易 开发 、变更 修 改成本 高、功能 有 限 以及依 赖 于特 定 的服务 器等 自身 的缺 陷i 使 其 的开发 和使 用 而
据 库 提供 无缝链 接 ,实现 前台 数据 库 的交互 。 j
Itre 技术 的普 及 和发 展 以及信 息 化程 度 的提 n en t

jsp上传图片完整代码

jsp上传图片完整代码
Calendar cal=Calendar.getInstance();
String filename=String.valueOf(cal.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
{
sma.setAllowedFilesList("jpg,gif");
sma.upload();
}catch(Exception e){
%>
<script language="jscript">
if(myf.isMissing()){
%>
<script language="jscript">
alert("请选择要上传的文件!")
window.location.href="upfile.jsp"
</script>
<html>
<head>
<title>My JSP 'uploadimage.jsp' starting page</title>
</head>
<body>
<%
SmartUpload sma=new SmartUpload();
out.println("图片上传成功!");
response.sendRedirect("showimg.jsp");
}
}
}catch(Exception e){

图片存入mySql数据库

图片存入mySql数据库

我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。

大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的只要大家将连接数据库的参数改一下就可以了。

SQL>create table image(id int,content varchar(200),image blob);如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。

testimage.html文件内容如下:<HTML><HEAD><TITLE>Image File </TITLE><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></HEAD><FORM METHOD=POST ACTION="testimage.jsp"><INPUT TYPE="text" NAME="content"><BR><INPUT TYPE="file" NAME="image"><BR><INPUT TYPE="submit"></FORM><BODY></BODY></HTML>我们在Form的action里定义了一个动作testimage.jsp,它的内容如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><html><body><%Class.forName("org.gjt.mm.mysql.Driver").newInstance();Stringurl="jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding= 8859_1";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String content=request.getParameter("content");String filename=request.getParameter("image");FileInputStream str=new FileInputStream(filename);String sql="insert into test(id,content,image) values(1,?,?)"; PreparedStatement pstmt=dbconn.conn.prepareStatement(sql);pstmt.setString(1,content);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();out.println("Success,You Have Insert an Image Successfully");%>下面我写一个测试image输出的例子看我们上面程序写的对不对,testimageout.jsp的内容如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%><html><body><%Class.forName("org.gjt.mm.mysql.Driver").newInstance();Stringurl="jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding= 8859_1";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String sql = "select image from test where id=1";Statement stmt=null;ResultSet rs=null;try{stmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLException e){}try {while(rs.next()) {res.setContentType("image/jpeg");ServletOutputStream sout = response.getOutputStream();InputStream in = rs.getBinaryStream(1);byte b[] = new byte[0x7a120];for(int i = in.read(b); i != -1;){sout.write(b);in.read(b);}sout.flush();sout.close();}}catch(Exception e){System.out.println(e);}%></body></html>你运行这个程序,你就会看到刚才你写入美丽的图片就会显示在你面前。

jsp实现文件上传和下载

jsp实现文件上传和下载

1 JSP文件上传简单实例1、index.html代码:<html><head><title>上传图片</title></head><body><form action="do_upload.jsp" method="post" enctype="multipart/form-data"><input type="file" name="Photo"><input type="submit" value="上传"></form></body></html>2、使用到的函数和类说明File类文件和目录路径名的抽象表示形式,File(parent,child)方法根据parent 抽象路径名和child 路径名字符串创建一个新File实例FileOutputStream文件输出流,InputStream输入流,将输入数据看成一根管道,可以形象的将输入流比喻成管道的入口,而输出流比喻成管道的出口。

read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。

read() 从此输入流中读取一个数据字节。

write(int b) 将指定字节写入此文件输出流,write(byte[] b, int off, int len) 将指定字节数组中从偏移量off 开始的len 个字节写入此文件输出流。

write(byte[] b) 将 b.length 个字节从指定字节数组写入此文件输出流中Random.readLine()逐行读入,Random.seek(int pos)设置到此文件开头测量到的文件指针偏移量,该位置发生下一个读取和写入操作,Random.getFilePointer()返回此文件当前偏移量,Random.readByte()此方法从该文件的当前文件指针开始读取第一个字节。

基于JSP及MySql数据库的图片存储和显示技术初探

基于JSP及MySql数据库的图片存储和显示技术初探
端的浏览器上显示 。
息的重要载体, 观明 了。随着 计算机处理 能力 和网络带宽 直 的提高 , 图片越来越多 多出现于 We b应用程序 中。
在 服务器 上,传 统 的图片信 息存储方 式是 以文件 的形
2 My q 数据 库 Sl My q 是一 个小 型 关系数 据库 管理 系统 , 以其免 费开 Sl
源、 功能完善 、 性能优越 而著称, 适用于 中小 规模信 息量的存
式, 存储于服务器 的文件 系统中。 如果 图片较多 , 服务器上的
储。从成 本和性能 的角度来考虑 , 它是 中小型 网站建 设 的首
文件数量就 会很多, 管理会是一件 很棘手的事情 。图片信 息
的另一种存储方 式是采用数据库的方式 。 数据 库擅 长于大量 信息 的集 中存 储,并提供 了较完善的信息管理 和维护功能 。 各种数据库服务 器也都提供 了大容量的存储字 段, 以用 来 可 存储 图片信息 , My q 的 B O 如 S l L B类型字段 。数据库方便管
片 存 储 和 显 要: 图片越来越 多的 出现在 We b应用程序 中, 传统 的文件存储 方式 已经不 能满足 要求 。文 中列举 了数据库存储 的好
技 示
处 , 了数 据库 对大容量字段 的支持 , 以JP Myq 为例 , 了 We 服 务器 上 图片的数据库存储 和显示技术。 介绍 并 S和 Sl 介绍 b

初 探
中图分 类号 :P 9 T31
文献标识码 : A
文章编号 :6 1 7 2(0 110 9.3 1 7- 9 .2 1).0 10 4
Ab ta tI ba piain , e eo esaeu igmoea dmoei g s h we e eta i o a yo v lsc n t e sr c:nwe p l t s d v lp r r sn r n r c o ma e, o v rh dt n l t r i wa fs mgf e a ’ t a i me ti n e .no r td , n meaev ro sa v na e f a b s , eal ed tb s ’ u p r hs e d I u u y wee u rt aiu d a tg s t a e d tit a ae Ss p ot oBLOB. k n S n y q s s o da h a t Ta igJ P a dM S l a

js实现文件上传功能后台使用MultipartFile

js实现文件上传功能后台使用MultipartFile

js实现文件上传功能后台使用MultipartFile在前端使用JavaScript实现文件上传功能,可以通过使用`FormData`对象来实现。

首先,我们需要创建一个HTML表单,并添加一个文件输入字段。

```html<form id="uploadForm"><input type="file" name="file" id="fileInput"><button type="submit">上传</button></form>```接下来,在JavaScript中,我们可以监听表单的提交事件,并在事件处理程序中获取文件数据,并将其发送到后台。

```javascriptdocument.getElementById('uploadForm').addEventListener('subm it', function(event)event.preventDefault(; // 阻止表单默认提交行为var fileInput = document.getElementById('fileInput');var file = fileInput.files[0];var formData = new FormData(;formData.append('file', file);//发送文件数据到后台var xhr = new XMLHttpRequest(;xhr.open('POST', '/upload'); // 替换成你的后台接口地址xhr.send(formData);});```在后台使用Spring框架时,可以使用`MultipartFile`来接收上传的文件。

JSP上传图片到数据库的例子

JSP上传图片到数据库的例子

现在想写个程序向数据库中插入图片路径(或则插入图片也可以)最好是插入图片的路径这样可插入任意大的图片...请高手指点一下思路..感激不尽1.通过显示层向数据库中插入图片2.在界面显示的时候是小图片(缩小过的)3.当点击查看大图片会显示图片(原来的大小)提供给你图片上传和显示的代码吧!希望对你有帮助我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。

大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的只要大家将连接数据库的参数改一下就可以了。

SQL> create table image(id int,content varchar(200),image blob);如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。

testimage.html文件内容如下:<HTML><HEAD><TITLE> Image File </TITLE><meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "></HEAD><FORM METHOD=POST ACTION= "testimage.jsp "><INPUT TYPE= "text " NAME= "content "> <BR><INPUT TYPE= "file " NAME= "image "> <BR><INPUT TYPE= "submit "> </FORM><BODY></BODY></HTML>我们在Form的action里定义了一个动作testimage.jsp,它的内容如下:<%@ page contentType= "text/html;charset=gb2312 "%><%@ page import= "java.sql.* " %><%@ page import= "java.util.* "%><%@ page import= "java.text.* "%><%@ page import= "java.io.* "%><html><%Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();String url= "jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=885 9_1 ";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String content=request.getParameter( "content ");String filename=request.getParameter( "image ");FileInputStream str=new FileInputStream(filename);String sql= "insert into test(id,content,image) values(1,?,?) ";PreparedStatement pstmt=dbconn.conn.prepareStatement(sql);pstmt.setString(1,content);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();out.println( "Success,You Have Insert an Image Successfully ");%>下面我写一个测试image输出的例子看我们上面程序写的对不对,testimageout.jsp的内容如下:<%@ page contentType= "text/html;charset=gb2312 "%><%@ page import= "java.sql.* " %><%@ page import= "java.util.* "%><%@ page import= "java.text.* "%><%@ page import= "java.io.* "%><html><body><%Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();String url= "jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=885 9_1 ";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String sql = "select image from test where id =1 ";Statement stmt=null;ResultSet rs=null;try{stmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLException e){}while(rs.next()) {res.setContentType( "image/jpeg ");ServletOutputStream sout = response.getOutputStream();InputStream in = rs.getBinaryStream(1);byte b[] = new byte[0x7a120];for(int i = in.read(b); i != -1;){sout.write(b);in.read(b);}sout.flush();sout.close();}}catch(Exception e){System.out.println(e);}%></body></html>你运行这个程序,你就会看到刚才你写入美丽的图片就会显示在你面前。

jimageupload的用法

jimageupload的用法

jimageupload的用法jImageUpload是一个简单且易于使用的Java图像上传库。

它为开发人员提供了一种便捷的方式来实现图像上传功能。

以下是jImageUpload的几种用法:1. 添加依赖:要在项目中使用jImageUpload,首先需要在项目的构建文件中添加相应的依赖。

例如,如果您使用Maven构建项目,可以在pom.xml文件中添加以下依赖项:```<dependency><groupId>com.github.wangtonghe</groupId><artifactId>jimageupload</artifactId><version>1.0.0</version></dependency>```2. 初始化jImageUpload:要使用jImageUpload,在您的Java代码中导入jImageUpload库,并创建一个jImageUpload对象。

您可以通过调用`JImageUpload()`构造函数来实现。

```javaimport com.github.wangtonghe.jimageupload.JImageUpload;public class Main {public static void main(String[] args) {JImageUpload jImageUpload = new JImageUpload();// 其他代码...}}```3. 设置上传配置:在使用jImageUpload之前,您可以对上传过程进行配置。

例如,您可以设置上传文件的最大大小、允许的文件类型等参数。

以下是一个示例:```javaimport com.github.wangtonghe.jimageupload.JImageUpload;import com.github.wangtonghe.jimageupload.config.UploadConfig;public class Main {public static void main(String[] args) {JImageUpload jImageUpload = new JImageUpload();UploadConfig uploadConfig = new UploadConfig();uploadConfig.setMaxSize(10 * 1024 * 1024); // 设置上传文件的最大大小为10MBuploadConfig.setAllowedTypes("jpg", "png", "gif"); // 仅允许上传jpg、png、gif 文件jImageUpload.setUploadConfig(uploadConfig);// 其他代码...}}```4. 处理上传请求:使用jImageUpload的一个主要目的是处理图像上传请求。

基于JspSmartUpload组件的图象上传技术

基于JspSmartUpload组件的图象上传技术
u p c WAR nak s=’ re a tD po ”r e’ ’ u ” uo e ly t tu ’ x Va d t n= ’as ” x Na s a e w r = ”as ”> ml h ai o ’l f e ml me p c A a e fle
却 。下 载后 , Wi i 用 n p或 WiR R将 其解 压 得 到 J S at— Z nA s mr p U p a .r l d i 压缩包 。 o a 在虚拟 目录 中 ( 文 以 E /et P为 例 子 ) 立/ B— 本 :t J sS 建 WE
”t ue” > r
</ o tx > C ne t
其 中 E /et P是本地 计算 机磁 盘中的文 件夹 , :t J sS 必须提前
再在其中建立 ul d p a 文件夹, o 用来保存图像文件( 下面 图像文件保存到一个文件 夹中 , 文件名保存 到数据库表 ( 文 建立 , 本
基于 Jpm r pod组件的 图象 上传技术 sS aU l t a
常 祖 政
( 山东师 范大学 பைடு நூலகம் 山东 济南 20 1) 50 4
摘 要 : P是 目前 使 用十 分 广泛 的 网站开发技 术 , 图像 是 网站 中不 可缺 少的一部 分 。本 文讨 论 了在 利 J S 而
用 JP开发动 态网站过 程 中图像 处理 的一种 解 决 方案 : 用 Jpm r p a 件 结合 S LSre数 据 库 实现 S 利 sS aU l d组 t o Q evr
ca hr
1o 0 1 6

c aem rt e e 缸 c ae rt e r
I g- s e maon. 3 m
dtt e a i am vrhr a a c

JSP上传文件

JSP上传文件

UploadExample.jsp<%@ page contentType="text/html;charset=gb2312"%> <html><title><%= application.getServerInfo() %></title><body>上传文件程序应用示例<form action="doUpload.jsp" method="post"enctype="multipart/form-data"><%-- 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。

--%>请选择要上传的文件<input type="file" name="upfile" size="50"><input type="submit" value="提交"></form></body></html>doUpload.jsp<%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.io.*"%><%@ page import="java.util.*"%><%@ page import="javax.servlet.*"%><%@ page import="javax.servlet.http.*"%><html><head><title>upFile</title></head><body bgcolor="#ffffff"><%//定义上载文件的最大字节int MAX_SIZE = 102400 * 102400;// 创建根路径的保存变量String rootPath;//声明文件读入类DataInputStream in = null;FileOutputStream fileOut = null;//取得客户端的网络地址String remoteAddr = request.getRemoteAddr();//获得服务器的名字String serverName = request.getServerName();//取得互联网程序的绝对地址String realPath = request.getRealPath(serverName);realPath =realPath.substring(0,stIndexOf("\\"));//创建文件的保存目录rootPath = realPath + "\\upload\\";//取得客户端上传的数据类型String contentType = request.getContentType();try{if(contentType.indexOf("multipart/form-data") >= 0){ //读入上传的数据in = new DataInputStream(request.getInputStream()); int formDataLength = request.getContentLength();if(formDataLength > MAX_SIZE){out.println("<P>上传的文件字节数不可以超过" + MAX_SIZE + "</p>");return;}//保存上传文件的数据byte dataBytes[] = new byte[formDataLength];int byteRead = 0;int totalBytesRead = 0;//上传的数据保存在byte数组while(totalBytesRead < formDataLength){byteRead =in.read(dataBytes,totalBytesRead,formDataLength); totalBytesRead += byteRead;}//根据byte数组创建字符串String file = new String(dataBytes);//out.println(file);//取得上传的数据的文件名String saveFile =file.substring(file.indexOf("filename=\"") + 10); saveFile = saveFile.substring(0,saveFile.indexOf("\n")); saveFile = saveFile.substring(stIndexOf("\\") + 1,saveFile.indexOf("\""));int lastIndex = stIndexOf("=");//取得数据的分隔字符串String boundary = contentType.substring(lastIndex + 1,contentType.length());//创建保存路径的文件名String fileName = rootPath + saveFile;//out.print(fileName);int pos;pos = file.indexOf("filename=\"");pos = file.indexOf("\n",pos) + 1;pos = file.indexOf("\n",pos) + 1;pos = file.indexOf("\n",pos) + 1;int boundaryLocation = file.indexOf(boundary,pos) - 4; //out.println(boundaryLocation);//取得文件数据的开始的位置int startPos = ((file.substring(0,pos)).getBytes()).length; //out.println(startPos);//取得文件数据的结束的位置int endPos =((file.substring(0,boundaryLocation)).getBytes()).length; //out.println(endPos);//检查上载文件是否存在File checkFile = new File(fileName);if(checkFile.exists()){out.println("<p>" + saveFile + "文件已经存在.</p>"); }//检查上载文件的目录是否存在File fileDir = new File(rootPath);if(!fileDir.exists()){fileDir.mkdirs();}//创建文件的写出类fileOut = new FileOutputStream(fileName);//保存文件的数据fileOut.write(dataBytes,startPos,(endPos - startPos)); fileOut.close();out.println(saveFile + "文件成功上载.</p>");}else{String content = request.getContentType();out.println("<p>上传的数据类型不是multipart/form-data</p>");}}catch(Exception ex){throw new ServletException(ex.getMessage());}%></body></html>。

jeecg jimageupload onchange 改变返回值 -回复

jeecg jimageupload onchange 改变返回值 -回复

jeecg jimageupload onchange 改变返回值-回复题目:jeecg jimageupload onchange 改变返回值摘要:jeecg jimageupload是一种用于前端图片上传的插件。

在使用该插件的过程中,有时会遇到需要改变返回值的情况。

本文将一步一步地介绍如何通过改变该插件的返回值来满足特定需求。

第一步:了解jeecg jimageupload插件jeecg jimageupload是一种基于java开发的前端图片上传插件,用于实现图片的上传及预览功能。

该插件支持图片文件的选择,即当用户选择图片文件后,插件会自动显示图片的预览,并将选择的图片文件上传至指定的后台服务器。

第二步:确认需求在使用jeecg jimageupload插件的过程中,我们可能会遇到需要改变插件返回值的情况。

具体需求可能有多种,例如需要将返回值作为参数传递给其他函数或模块,或是需要对返回值进行进一步处理等。

在确认需求的同时,也需要对返回值的格式和内容进行分析和了解。

第三步:查看插件文档及源码为了实现对jeecg jimageupload插件返回值的改变,我们需要深入了解插件的使用文档以及源码。

文档中可能会包含关于返回值的相关说明和示例。

而源码则是我们进一步修改返回值的关键。

通过阅读源码,我们可以了解插件是如何处理返回值的,从而确定我们需要对哪些部分进行修改。

第四步:修改插件源码根据我们的需求,找到需要修改的部分,并进行相应的代码更改。

需要注意的是,在修改源码时,要确保不会对插件的其他功能或原有的使用方式产生不良影响。

在修改前,最好进行备份以防止意外情况发生。

第五步:验证修改效果在修改完成后,需要进行测试来验证修改的有效性。

可以通过使用插件的示例页面或自建的测试页面来进行测试。

测试过程中需要关注的是修改后的返回值格式、内容以及是否满足需求等方面。

如果测试结果符合预期,即返回值发生了改变并满足需求,那么我们的工作就完成了。

JSP图片上传/放大缩小/裁减的源代码

JSP图片上传/放大缩小/裁减的源代码

3000分求JSP 图片上传/放大缩小/裁减的源代码guestdsf竹省省市滋发息加友铜牌会员1 # 大 中 小 发表于 2009-08-27 10:33:003000分求JSP 图片上传/放大缩小/裁减的源代码。

能裁减固定大小比如(120*100)的就行。

有预览,能显示图片长宽和大小(file size)最好。

本人结帖率是99.87%, 可用分8000+非常感谢!!如果没有JSP 源代码,PHP 源代码也可以。

package myBean; import java.io.*; public class uploadpic {String picPath;//图片路径 (如:F:picturea.gif ) public String pictype[];//设置图片的后缀名 FileInputStream in; int piclength;//设置图片的最大kb public void setpicPath(String picPath)//获得图片的路径 {this.picPath=picPath; } 设置图片的最大长度{this.piclength=piclength;}public int getpiclength(){return piclength;}public boolean testlength()//判断图片的长度是否大于设定的最大长度try{in=new FileInputStream(picPath);if(in.available()/1024>piclength)return false;}catch(IOException e){System.out.println(e.getMessage());}return true;}public void setpictype(String[] pictype)//设置图片的扩展名{this.pictype=pictype;}public boolean testpictype()//判断图片的扩展名是否是规定的{if(pictype!=null){for(int i=0;i <pictype.length;i ){if(picPath.endsWith(pictype))return true;}return false;}return false;}}以下是在jsp页面中调用uploadpic首先要引入此bean所在的包<%@page import="myBean.uploadpic" %><jsp:useBean id="pic" scope="page" class="myBean.uploadpic" /> 下一条语句是得到上一层页面,也就是用户提交的图片路径!picp=codetostring.codeToString(request.getParameter("picPath"));pic.setpicPath(picp);pic.setpiclength(100);//以kb为单位if(pic.testlength())out.print("length ok <br>");elseout.print("length ok");String p1,p2;p1=".jpg";p2=".gif";String[] type={p1,p2};pic.setpictype(type);if(pic.testpictype())out.print("typeok");elseout.print("type error");made by zonecens 不知道2楼的怎么样,我来学习一个!帮顶!好像百度一招很多百度一下,找到相关网页约11,400,000篇,用时0.036秒3000连个星星都升不了这个是JAVA代码package ftp;import .ftp.*;import .*;import java.awt.*;import java.awt.event.*;import java.applet.*;import java.io.*;class FTPextends Applet {FtpClient aftp;DataOutputStream outputs;TelnetInputStream ins;TelnetOutputStream outs;TextArea lsArea;Label LblPrompt;Button BtnConn;Button BtnClose;TextField TxtUID;TextField TxtPWD;TextField TxtHost;int ch;public String a = "没有连接主机";String hostname = "";public void init() {setBackground(Color.white);setLayout(new GridBagLayout());GridBagConstraints GBC = new GridBagConstraints();LblPrompt = new Label("没有连接主机");LblPrompt.setAlignment(Label.LEFT);BtnConn = new Button("连接");BtnClose = new Button("断开");BtnClose.enable(false);TxtUID = new TextField("", 15);TxtPWD = new TextField("", 15);TxtPWD.setEchoCharacter('*');TxtHost = new TextField("", 20);Label LblUID = new Label("User ID:");Label LblPWD = new Label("PWD:");Label LblHost = new Label("Host:");lsArea = new TextArea(30, 80);lsArea.setEditable(false);GBC.gridwidth = GridBagConstraints.REMAINDER;GBC.fill = GridBagConstraints.HORIZONTAL; ( (GridBagLayout) getLayout()).setConstraints(LblPrompt, GBC);add(LblPrompt);GBC.gridwidth = 1;( (GridBagLayout) getLayout()).setConstraints(LblHost, GBC);add(LblHost);GBC.gridwidth = GridBagConstraints.REMAINDER; ( (GridBagLayout) getLayout()).setConstraints(TxtHost, GBC);add(TxtHost);GBC.gridwidth = 1;( (GridBagLayout) getLayout()).setConstraints(LblUID, GBC);add(LblUID);GBC.gridwidth = 1;( (GridBagLayout) getLayout()).setConstraints(TxtUID, GBC);add(TxtUID);GBC.gridwidth = 1;( (GridBagLayout) getLayout()).setConstraints(LblPWD, GBC);add(LblPWD);GBC.gridwidth = 1;( (GridBagLayout) getLayout()).setConstraints(TxtPWD, GBC);add(TxtPWD);GBC.gridwidth = 1;GBC.weightx = 2;( (GridBagLayout) getLayout()).setConstraints(BtnConn, GBC);add(BtnConn);GBC.gridwidth = GridBagConstraints.REMAINDER;( (GridBagLayout) getLayout()).setConstraints(BtnClose, GBC);add(BtnClose);GBC.gridwidth = GridBagConstraints.REMAINDER;GBC.fill = GridBagConstraints.HORIZONTAL;( (GridBagLayout) getLayout()).setConstraints(lsArea, GBC);add(lsArea);}public boolean connect(String hostname, String uid,String pwd) {this.hostname = hostname;LblPrompt.setText("正在连接,请等待.....");try {aftp = new FtpClient(hostname);aftp.login(uid, pwd);aftp.binary();showFileContents();}catch (FtpLoginException e) {a = "无权限与主机:" + hostname + "连接!";LblPrompt.setText(a);return false;}catch (IOException e) {a = "连接主机:" + hostname + "失败!";LblPrompt.setText(a);return false;}catch (SecurityException e) {a = "无权限与主机:" + hostname + "连接!";LblPrompt.setText(a);return false;}LblPrompt.setText("连接主机:" + hostname + "成功!");return true;}public void stop() {try {aftp.closeServer();}catch (IOException e) {}}public void paint(Graphics g) {}public boolean action(Event evt, Object obj) { if (evt.target == BtnConn) {LblPrompt.setText("正在连接,请等待....."); if (connect(TxtHost.getText(), TxtUID.getText(), TxtPWD.getText())) {BtnConn.setEnabled(false);BtnClose.setEnabled(true);}return true;}if (evt.target == BtnClose) {BtnConn.enable(true);BtnClose.enable(false);LblPrompt.setText("与主机" + hostname + "连接已断开!");return true;}return super.action(evt, obj);}public boolean sendFile(String filepathname) { boolean result = true;if (aftp != null) {LblPrompt.setText("正在粘贴文件,请耐心等待....");String contentperline;try {a = "粘贴成功!";String fg = new String("\");int index = stIndexOf(fg);String filename = filepathname.substring(index + 1);File localFile;localFile = new File(filepathname); RandomAccessFile sendFile = new RandomAccessFile(filepathname, "r");//sendFile.seek(0);outs = aftp.put(filename);outputs = new DataOutputStream(outs); while (sendFile.getFilePointer() < sendFile.length()) {ch = sendFile.read();outputs.write(ch);outs.close();sendFile.close();}catch (IOException e) {a = "粘贴失败!";result = false;}LblPrompt.setText(a);showFileContents();}else {result = false;}return result;}public void showFileContents() {StringBuffer buf = new StringBuffer();lsArea.setText("");try {ins = aftp.list();while ( (ch = ins.read()) >= 0) { buf.append( (char) ch);}lsArea.appendText(buf.toString());ins.close();}catch (IOException e) {}}public static void main(String args[]) { Frame f = new Frame("FTP Client");f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) { System.exit(0);}});FTP ftp = new FTP();ftp.init();ftp.start();f.add(ftp);f.pack();f.setVisible(true);}}2楼 2004-10-13 08:56 angel7532 [引用] [回复]这个是HTML网页<html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK" /><title>FTP下载 </title><script type="text/javascript">var javawsInstalled = false;var isIE = false;var isICE = erAgent.indexOf("ICEBrowser") >=0;if (navigator.mimeTypes && navigator.mimeTypes.length) javawsInstalled = navigator.mimeTypes['application/x-java-jnlp-file'];elseisIE = true;function insertLink(url, name) {if (javawsInstalled) {document.write("<a href="" + url + "">" + name + " </a>");} else {if (isICE) {document.write("JBuilder's Web View does not support Web Start (no appropriate Web Start plugin is available). ");document.write("Other popular (external) browsers are supported");} else {document.write("Need to install Java Web Start");}document.write(" -- for more information, visit");document.write("<a href="/products/javawebstart/">" );document.write("the Java Web Start page");document.write(" </a>");}}</script><script type="text/vbscript">on error resume nextIf isIE ThenIf Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) ThenjavawsInstalled = falseElsejavawsInstalled = trueEnd IfEnd If</script></head><body><h1>Java Web Start application </h1> <script type="text/javascript"><!--insertLink("FTPEXE.jnlp","FTP下载");// --></script><noscript><a href="FTPEXE.jnlp">FTP下载 </a></noscript></body></html>3楼 2004-10-13 09:21 szabo [引用] [回复]angel7532(卡卡西):哪我服务器上要不要作一些配置或安装其他软件呢?4楼 2004-10-15 09:30 szabo [引用] [回复] 不能沉啊。

图片上传保存到access数据库

图片上传保存到access数据库
</form>
</center>
</body>
</html>
二、 图片的上传与保存程序process.asp
<%
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
mydata=midb(formdata,datastart,dataend)
set connGraph=server.CreateObject("ADODB.connection")
connGraph.Open "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & server.MapPath("images.mdb")
请输入要显示图片的序号:<input type=id name=id>
<input type=submit name=ok value="提交">
</form>
</center>
</body>
</html>
第二步、设计一个上传的表单,根据要求可简可繁。
第三步、设计后台的图片处理程序,可分为图片上传保存程序和图片读取程序。
第四步、图片显示。
下面给出程序并分别做介绍。
一、 表单程序updata.html
它的功能是为上传提供一个界面,表单的enctype属性为multipart/form-data,它是设置表单的MIME编码的,只有使用了它才能完整地传送文件的数据。

jspstruts1struts2上传文件

jspstruts1struts2上传文件

一.在JSP环境中利用Commons-fileupload组件实现文件上传1.页面upload.jsp清单如下:Java代码1.<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5. <head>6. <title>The FileUpload Demo</title>7. </head>8.9. <body>10. <form action="UploadFile" method="post" enctype="multipart/form-data">11. <p><input type="text" name="fileinfo" value="">文件介绍</p>12. <p><input type="file" name="myfile" value="阅读文件"></p>13. <p><input type="submit" value="上传"></p>14. </form>15. </body>16.</html>注意:在上传表单中,既有一般文本域也有文件上传域2.FileUplaodServlet.java清单如下:Java代码1.package org.chris.fileupload;2.3.import java.io.File;4.import java.io.IOException;5.import java.util.Iterator;6.import java.util.List;7.8.import javax.servlet.ServletException;9.import javax.servlet.http.*;10.11.import org.apachemons.fileupload.FileItem;12.import org.apachemons.fileupload.FileItemFactory;13.import org.apachemons.fileupload.disk.DiskFileItemFactory;14.import org.apachemons.fileupload.servlet.ServletFileUpload;15.16.public class FileUplaodServlet extends HttpServlet {17.18. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {19. doPost(request, response);20. }21.22. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {23.24. request.setCharacterEncoding("UTF-8");25.26. //文件的上传部份27. boolean isMultipart = ServletFileUpload.isMultipartContent(request);28.29. if(isMultipart)30. {31. try {32. FileItemFactory factory = new DiskFileItemFactory();33. ServletFileUpload fileload = new ServletFileUpload(factory);34.35.// 设置最大文件尺寸,那个地址是4MB36. fileload.setSizeMax(4194304);37. List<FileItem> files = fileload.parseRequest(request);38. Iterator<FileItem> iterator = files.iterator();39. while(iterator.hasNext())40. {41. FileItem item = iterator.next();42. if(item.isFormField())43. {44. String name = item.getFieldName();45. String value = item.getString();46. System.out.println("表单域名为: " + name + "值为: " + value);47. }else48. {49. //取得取得文件名,此文件名包括途径50. String filename = item.getName();51. if(filename != null)52. {53. File file = new File(filename);54. //若是此文件存在55. if(file.exists()){56. File filetoserver = new File("d:\\upload\\",file.getName());57. item.write(filetoserver);58. System.out.println("文件 " + filetoserver.getName() + " 上传成功!!");59. }60. }61. }62. }63. } catch (Exception e) {64. System.out.println(e.getStackTrace());65. }66. }67. }68.}3.web.xml清单如下:Java代码1.<?xml version="1.0" encoding="UTF-8"?>2.<web-app version="2.4"3. xmlns="java.sun/xml/ns/j2ee"4. xmlns:xsi="/2001/XMLSchema-instance"5. xsi:schemaLocation="java.sun/xml/ns/j2ee6. java.sun/xml/ns/j2ee/web-app_2_4.xsd">7.8. <servlet>9. <servlet-name>UploadFileServlet</servlet-name>10. <servlet-class>11. org.chris.fileupload.FileUplaodServlet12. </servlet-class>13. </servlet>14.15. <servlet-mapping>16. <servlet-name>UploadFileServlet</servlet-name>17. <url-pattern>/UploadFile</url-pattern>18. </servlet-mapping>19.20. <welcome-file-list>21. <welcome-file>/Index.jsp</welcome-file>22. </welcome-file-list>23.24.</web-app>二.在strut1.2中实现1.上传页面file.jsp 清单如下:Java代码1.<%@ page language="java" pageEncoding="ISO-8859-1"%>2.<%@ taglib uri="/struts/tags-bean" prefix="bean"%>3.<%@ taglib uri="/struts/tags-html" prefix="html"%>4.5.<html>6. <head>7. <title>JSP for FileForm form</title>8. </head>9. <body>10. <html:form action="/file" enctype="multipart/form-data">11. <html:file property="file1"></html:file>12. <html:submit/><html:cancel/>13. </html:form>14. </body>15.</html>2.FileAtion.java的清单如下:Java代码1./*2. * Generated by MyEclipse Struts3. * Template path: templates/java/JavaClass.vtl4. */5.package action;6.7.import java.io.*;8.9.import javax.servlet.http.HttpServletRequest;10.import javax.servlet.http.HttpServletResponse;11.import org.apache.struts.action.Action;12.import org.apache.struts.action.ActionForm;13.import org.apache.struts.action.ActionForward;14.import org.apache.struts.action.ActionMapping;15.import org.apache.struts.upload.FormFile;16.17.import form.FileForm;18.19./**20. * @author Chris21. * Creation date: 6-27-202022. *23. * XDoclet definition:24. * @struts.action path="/file" name="fileForm" input="/file.jsp"25. */26.public class FileAction extends Action {27. /*28. * Generated Methods29. */30.31. /**32. * Method execute33. * @param mapping34. * @param form35. * @param request36. * @param response37. * @return ActionForward38. */39. public ActionForward execute(ActionMapping mapping, ActionForm form,40. HttpServletRequest request, HttpServletResponse response) {41. FileForm fileForm = (FileForm) form;42. FormFile file1=fileForm.getFile1();43. if(file1!=null){44. //上传途径45. String dir=request.getSession(true).getServletContext().getRealPath("/upload");46. OutputStream fos=null;47. try {48. fos=new FileOutputStream(dir+"/"+file1.getFileName());49. fos.write(file1.getFileData(),0,file1.getFileSize());50. fos.flush();51. } catch (Exception e) {52. // TODO Auto-generated catch block53. e.printStackTrace();54. }finally{55. try{56. fos.close();57. }catch(Exception e){}58. }59. }60. //页面跳转61. return mapping.findForward("success");62. }63.}3.FileForm.java的清单如下:Java代码1.package form;2.3.import javax.servlet.http.HttpServletRequest;4.import org.apache.struts.action.ActionErrors;5.import org.apache.struts.action.ActionForm;6.import org.apache.struts.action.ActionMapping;7.import org.apache.struts.upload.FormFile;8.9./**10. * @author Chris11. * Creation date: 6-27-202012. *13. * XDoclet definition:14. * @struts.form name="fileForm"15. */16.public class FileForm extends ActionForm {17. /*18. * Generated Methods19. */20. private FormFile file1;21. /**22. * Method validate23. * @param mapping24. * @param request25. * @return ActionErrors26. */27. public ActionErrors validate(ActionMapping mapping,28. HttpServletRequest request) {29. // TODO Auto-generated method stub30. return null;31. }32.33. /**34. * Method reset35. * @param mapping36. * @param request37. */38. public void reset(ActionMapping mapping, HttpServletRequest request) {39. // TODO Auto-generated method stub40. }41.42. public FormFile getFile1() {43. return file1;44. }45.46. public void setFile1(FormFile file1) {47. this.file1 = file1;48. }49.}4.struts-config.xml的清单如下:Java代码1.<?xml version="1.0" encoding="UTF-8"?>2.<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "/d tds/struts-config_1_2.dtd">3.4.<struts-config>5. <data-sources />6. <form-beans >7. <form-bean name="fileForm" type="form.FileForm" />8.9. </form-beans>10.11. <global-exceptions />12. <global-forwards />13. <action-mappings >14. <action15. attribute="fileForm"16. input="/file.jsp"17. name="fileForm"18. path="/file"19. type="action.FileAction"20. validate="false">21. <forward name="success" path="/file.jsp"></forward>22. </action>23.24. </action-mappings>25.26. <message-resources parameter="ApplicationResources" />27.</struts-config>5.web.xml代码清单如下:Java代码1.<?xml version="1.0" encoding="UTF-8"?>2.<web-app xmlns="java.sun/xml/ns/j2ee" xmlns:xsi="w/2001/XMLSchema-instance" version="2.4" xsi:schemaLocatio n="java.sun/xml/ns/j2ee java.sun/xml/ns/j2ee/web-app_2_4.xsd">3. <servlet>4. <servlet-name>action</servlet-name>5. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>6. <init-param>7. <param-name>config</param-name>8. <param-value>/WEB-INF/struts-config.xml</param-value>9. </init-param>10. <init-param>11. <param-name>debug</param-name>12. <param-value>3</param-value>13. </init-param>14. <init-param>15. <param-name>detail</param-name>16. <param-value>3</param-value>17. </init-param>18. <load-on-startup>0</load-on-startup>19. </servlet>20. <servlet-mapping>21. <servlet-name>action</servlet-name>22. <url-pattern>*.do</url-pattern>23. </servlet-mapping>24.</web-app>三.在struts2中实现(以图片上传为例)1.FileUpload.jsp代码清单如下:Java代码1.<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>2.<%@ taglib prefix="s" uri="/struts-tags" %>3.<html>4. <head>5. <title>The FileUplaodDemo In Struts2</title>6. </head>7.8. <body>9. <s:form action="fileUpload.action" method="POST" enctype="multipart/form-data">10. <s:file name="myFile" label="MyFile" ></s:file>11. <s:textfield name="caption" label="Caption"></s:textfield>12. <s:submit label="提交"></s:submit>13. </s:form>14. </body>15.</html>2.ShowUpload.jsp的功能清单如下:Java代码1.<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>2.<%@ taglib prefix="s" uri="/struts-tags" %>3.<html>4. <head>5. <title>ShowUpload</title>6. </head>7.8. <body>9. <div style ="padding: 3px; border: solid 1px #cccccc; text-align: center" >10. <img src ='UploadImages/<s:property value ="imageFileName"/> '/>11. <br />12. <s:property value ="caption"/>13. </div >14. </body>15.</html>3.FileUploadAction.java的代码清单如下:Java代码1.package com.chris;2.3.import java.io.*;4.import java.util.Date;5.6.import org.apache.struts2.ServletActionContext;7.8.9.import com.opensymphony.xwork2.ActionSupport;10.11.public class FileUploadAction extends ActionSupport{12.13. private static final long serialVersionUID = 572146812454l;14. private static final int BUFFER_SIZE = 16 * 1024 ;15.16. //注意,文件上传时<s:file/>同时与myFile,myFileContentType,myFileFileName绑定17. //因此同时要提供myFileContentType,myFileFileName的set方式18.19. private File myFile; //上传文件20. private String contentType;//上传文件类型21. private String fileName; //上传文件名22. private String imageFileName;23. private String caption;//文件说明,与页面属性绑定24.25. public void setMyFileContentType(String contentType) {26. System.out.println("contentType : " + contentType);27. this .contentType = contentType;28. }29.30. public void setMyFileFileName(String fileName) {31. System.out.println("FileName : " + fileName);32. this .fileName = fileName;33. }34.35. public void setMyFile(File myFile) {36. this .myFile = myFile;37. }38.39. public String getImageFileName() {40. return imageFileName;41. }42.43. public String getCaption() {44. return caption;45. }46.47. public void setCaption(String caption) {48. this .caption = caption;49. }50.51. private static void copy(File src, File dst) {52. try {53. InputStream in = null ;54. OutputStream out = null ;55. try {56. in = new BufferedInputStream( new FileInputStream(src), BUFFER_SIZE);57. out = new BufferedOutputStream( new FileOutputStream(dst), BUFFER_SIZE);58. byte [] buffer = new byte [BUFFER_SIZE];59. while (in.read(buffer) > 0 ) {60. out.write(buffer);61. }62. } finally {63. if ( null != in) {64. in.close();65. }66. if ( null != out) {67. out.close();68. }69. }70. } catch (Exception e) {71. e.printStackTrace();72. }73. }74.75. private static String getExtention(String fileName) {76. int pos = stIndexOf(".");77. return fileName.substring(pos);78. }79.80.@Override81. public String execute() {82. imageFileName = new Date().getTime() + getExtention(fileName);83. File imageFile = new File(ServletActionContext.getServletContext().getRealPath("/UploadImages" ) + "/" + imageFileN ame);84. copy(myFile, imageFile);85. return SUCCESS;86. }87.}注:现在仅为方便实现Action因此继承ActionSupport,并Overrider execute()方式在struts2中任何一个POJO都能够作为Action4.struts.xml清单如下:Java代码1.<?xml version="1.0" encoding="UTF-8" ?>2.<!DOCTYPE struts PUBLIC3. "-//Apache Software Foundation//DTD Struts Configuration2.0//EN"4. "/dtds/struts-2.0.dtd">5.<struts>6. <package name="example" namespace="/" extends="struts-default">7. <action name="fileUpload" class="com.chris.FileUploadAction">8. <interceptor-ref name="fileUploadStack"/>9. <result>/ShowUpload.jsp</result>10. </action>11. </package>12.</struts>5.web.xml清单如下:Java代码1.<?xml version="1.0" encoding="UTF-8"?>2.<web-app version="2.4"3. xmlns="java.sun/xml/ns/j2ee"4. xmlns:xsi="/2001/XMLSchema-instance"5. xsi:schemaLocation="java.sun/xml/ns/j2ee6. java.sun/xml/ns/j2ee/web-app_2_4.xsd">7. <filter >8. <filter-name > struts-cleanup </filter-name >9. <filter-class >10. org.apache.struts2.dispatcher.ActionContextCleanUp11. </filter-class >12. </filter >13. <filter-mapping >14. <filter-name > struts-cleanup </filter-name >15. <url-pattern > /* </url-pattern >16. </filter-mapping >17.18. <filter>19. <filter-name>struts2</filter-name>20. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>21. </filter>22. <filter-mapping>23. <filter-name>struts2</filter-name>24. <url-pattern>/*</url-pattern>25. </filter-mapping>26. <welcome-file-list>27. <welcome-file>Index.jsp</welcome-file>28. </welcome-file-list>29.30.</web-app>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现在想写个程序向数据库中插入图片路径(或则插入图片也可以)最好是插入图片的路径这样可插入任意大的图片...请高手指点一下思路..感激不尽1.通过显示层向数据库中插入图片2.在界面显示的时候是小图片(缩小过的)3.当点击查看大图片会显示图片(原来的大小)提供给你图片上传和显示的代码吧!希望对你有帮助我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。

大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的只要大家将连接数据库的参数改一下就可以了。

SQL> create table image(id int,content varchar(200),image blob);如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。

testimage.html文件内容如下:<HTML><HEAD><TITLE> Image File </TITLE><meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "></HEAD><FORM METHOD=POST ACTION= "testimage.jsp "><INPUT TYPE= "text " NAME= "content "> <BR><INPUT TYPE= "file " NAME= "image "> <BR><INPUT TYPE= "submit "> </FORM><BODY></BODY></HTML>我们在Form的action里定义了一个动作testimage.jsp,它的内容如下:<%@ page contentType= "text/html;charset=gb2312 "%><%@ page import= "java.sql.* " %><%@ page import= "java.util.* "%><%@ page import= "java.text.* "%><%@ page import= "java.io.* "%><html><%Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();String url= "jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=885 9_1 ";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String content=request.getParameter( "content ");String filename=request.getParameter( "image ");FileInputStream str=new FileInputStream(filename);String sql= "insert into test(id,content,image) values(1,?,?) ";PreparedStatement pstmt=dbconn.conn.prepareStatement(sql);pstmt.setString(1,content);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();out.println( "Success,You Have Insert an Image Successfully ");%>下面我写一个测试image输出的例子看我们上面程序写的对不对,testimageout.jsp的内容如下:<%@ page contentType= "text/html;charset=gb2312 "%><%@ page import= "java.sql.* " %><%@ page import= "java.util.* "%><%@ page import= "java.text.* "%><%@ page import= "java.io.* "%><html><body><%Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();String url= "jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=885 9_1 ";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(url);String sql = "select image from test where id =1 ";Statement stmt=null;ResultSet rs=null;try{stmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLException e){}while(rs.next()) {res.setContentType( "image/jpeg ");ServletOutputStream sout = response.getOutputStream();InputStream in = rs.getBinaryStream(1);byte b[] = new byte[0x7a120];for(int i = in.read(b); i != -1;){sout.write(b);in.read(b);}sout.flush();sout.close();}}catch(Exception e){System.out.println(e);}%></body></html>你运行这个程序,你就会看到刚才你写入美丽的图片就会显示在你面前。

怎么样,用jsp 来试试。

这种方法把图片写到数据库中会使数据库在短时间内容量飞涨,会影响性能的,另外一种做法将图片存上传到服务器上,在数据库里只存放图片的路径,这是一个很好的方法。

我建议大家采取后面一种方法。

我用的是2005的数据库可是运行的时候出现异常javax.servlet.ServletException: No suitable driver<HTML><HEAD><TITLE> Image File </TITLE><meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "></HEAD><FORM METHOD=POST ACTION= "tImage.jsp "><INPUT TYPE= "text " NAME= "content "> <BR><INPUT TYPE= "file " NAME= "image "> <BR><INPUT TYPE= "submit "> </FORM><BODY></BODY></HTML>-------------------------------<%@ page contentType= "text/html;charset=gb2312 "%><%@ page import= "java.sql.* " %><%@ page import= "java.util.* "%><%@ page import= "java.text.* "%><%@ page import= "java.io.* "%><html><body><%Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();String url= "jdbc:sqlserver://localhost:1433;DatabaseName=haifei ";String username = "sa " ;String pass = "java ";//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改Connection conn= DriverManager.getConnection(username,pass,url);String content=request.getParameter( "content ");String filename=request.getParameter( "image ");FileInputStream str=new FileInputStream(filename);String sql= "insert into [haifei].[dbo].[imageTable](id,content,tupian)values(1,?,?) ";PreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setString(1,content);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();out.println( "Success,You Have Insert an Image Successfully ");%></html>1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。

相关文档
最新文档