`
sd8089730
  • 浏览: 259565 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

Struts1 上传二进制流

阅读更多
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.cn.struts.action;

import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.springframework.beans.BeanUtils;
import org.springframework.util.FileCopyUtils;

import com.cn.struts.dao.UserDao;
import com.cn.struts.form.UserForm;
import com.cn.struts.vo.UserVo;

public class UserAction extends DispatchAction {
	private UserDao userDaoimp;
	public ActionForward regist(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		
		UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
		UserVo user=new UserVo();
		user.setUid(userForm.getUid());
		user.setUname(userForm.getUname());
		user.setUpassword(userForm.getUpassword());
		try {
			user.setUimage(userForm.getUimage().getFileData());
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//BeanUtils.copyProperties(userForm, user);
		userDaoimp.insert(user);
		return mapping.findForward("seccuss");
	}
	public ActionForward selectUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String hql="from UserVo";
		request.setAttribute("userList", userDaoimp.selectAll(hql));
		return mapping.findForward("selectUser");
	}
	public ActionForward deleteOne(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		//UserVo user=new UserVo();
		int uid=new Integer(request.getParameter("uid"));
		userDaoimp.deleteOne(UserVo.class, uid);
		String hql="from UserVo";
		request.setAttribute("userList", userDaoimp.selectAll(hql));
		return mapping.findForward("selectUser");
	}
	public ActionForward updateUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		//UserVo user=new UserVo();
		int uid=Integer.parseInt(request.getParameter("uid"));
		System.out.println(uid);
		UserVo userVo=(UserVo)userDaoimp.selectOne(UserVo.class, uid);
		System.out .println(userVo.getUname()+":"+userVo.getUpassword());
		//UserVo user=new UserVo();
		//user.setUid(uid);
		//user.setUname(uname);
		//user.setUpassword(upassword);
		//userDaoimp.deleteOne(UserVo.class, uid);
		//String hql="from UserVo";
		UserForm userForm = new UserForm();
			//BeanUtils.copyProperties(userVo, userForm);
		userForm.setUid(userVo.getUid());
		userForm.setUname(userVo.getUname());
		userForm.setUpassword(userVo.getUpassword());
		System.out.print(userForm.getUid());
		request.setAttribute("userForm", userForm);
		return mapping.findForward("updateUser");
	}
	public ActionForward updateUserDo(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		UserForm userForm = (UserForm) form;	
		UserVo user=new UserVo();
		
		user.setUid(userForm.getUid());
		user.setUname(userForm.getUname());
		user.setUpassword(userForm.getUpassword());
		userDaoimp.update(user);
		String hql="from UserVo";
		request.setAttribute("userList", userDaoimp.selectAll(hql));
		return mapping.findForward("selectUser");
	}
	public ActionForward uimageShow(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		
		int uid=Integer.parseInt(request.getParameter("uid"));
		System.out.println(uid);
		UserVo userVo=(UserVo)userDaoimp.selectOne(UserVo.class, uid);
		System.out .println(userVo.getUname()+":"+userVo.getUpassword());
		request.setAttribute("userVo", userVo);
		return mapping.findForward("uimageShow");
	}
	public ActionForward uimage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		
		int uid=Integer.parseInt(request.getParameter("uid"));
		System.out.println(uid);
		UserVo userVo=(UserVo)userDaoimp.selectOne(UserVo.class, uid);
		System.out .println(userVo.getUname()+":"+userVo.getUpassword());
		/*response.setContentType("image/ico");
		try {
			response.getOutputStream().write(userVo.getUimage());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}*/
		try {
			streamImage(userVo.getUimage(), response.getOutputStream());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	public void streamImage(final byte[] blob, final OutputStream contentStream) throws Exception {

	       ByteArrayInputStream is = new java.io.ByteArrayInputStream(blob);
	       if (is != null) {
	           FileCopyUtils.copy(is, contentStream);

	                  }
	           }

	public UserDao getUserDaoimp() {
		return userDaoimp;
	}
	public void setUserDaoimp(UserDao userDaoimp) {
		this.userDaoimp = userDaoimp;
	}
	
}

 

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <input type="text" value='<bean:write name="userVo" property="uname"/>'>
    <hr>
    <image src='/uimage.do?method=uimage&&uid=<bean:write name="userVo" property="uid"/>'/>  
   <a href="selectUser.do?methods=selectUser">查询所有</a>
  </body>
</html>

 

分享到:
评论

相关推荐

    二进制输出图片

    在计算机中,所有的信息都是以二进制形式存储的,即由0和1组成的数据。图片、音频、视频等多媒体文件本质上都是二进制数据的集合。当我们在数据库中存储图片时,通常会将图片文件转换为二进制字节流,这样可以节省...

    struts+hibernate实现文件上传、下载,以二进制存于数据库

    在这个项目中,我们创建一个特定的Struts Action,该Action接收到上传请求后,将文件数据读取并转化为二进制流。接着,使用Hibernate ORM框架与数据库进行交互。Hibernate允许我们定义实体类,映射到数据库表,通过...

    struts2文件上传

    通过以上步骤,Struts2可以帮助开发者轻松实现文件上传功能,而无需深入理解HTTP协议和二进制流处理的复杂性。开发者只需关注业务逻辑,而把文件上传的底层实现交给了Struts2和Apache Commons FileUpload组件。如果...

    struts2框架下的文件上传

    这种方式对处理文本文件内容更方便,但不适用于二进制文件。 ```java private Reader reader; // getter and setter... ``` 同样,你需要手动处理字符流,读取内容并保存。 无论哪种方式,都需要考虑以下...

    struts1 文件上传 文件下载

    同时,表单需要设置`enctype="multipart/form-data"`,这样才能传输二进制文件数据。 2. **ActionForm**:创建一个继承自Struts1的`ActionForm`类,该类中包含一个`File`类型的属性,用于接收用户上传的文件。例如...

    struts 图片上传demo

    1. **文件上传基础**:在HTTP协议中,常规的POST请求无法处理文件上传,因此我们需要使用多部分/FormData编码,这是HTTP协议允许的一种特殊编码方式,用于传输二进制数据,如图片、文档等。Struts的`...

    Struts2多个文件上传

    在进行文件上传时,HTML表单需要设置`enctype="multipart/form-data"`,这是为了指示浏览器以二进制流的形式发送文件内容。有三种不同的`enctype`值,但`multipart/form-data`是处理文件上传的必要选择。其他两种...

    Struts2上传方法

    在这种模式下,表单数据会被编码成二进制流的形式,并且文件内容也会被封装进请求参数中。这种方式能够确保文件内容和其他表单数据一同提交。 3. **text/plain**:这种编码方式主要用于发送纯文本数据,例如通过...

    Ext3.2 + struts 文件上传实例

    在表单提交时,`FileInput`会将选定的文件转换成二进制流,并与其他表单字段一起发送到服务器。 为了解决中文乱码问题,我们需要在多个层面上进行设置。首先,在Ext3.2的表单配置中,确保设置了正确的字符编码,...

    struts2文件上传下载

    在Struts2中进行文件上传时,必须在标签中指定`enctype="multipart/form-data"`,这样表单的数据才会以二进制流的形式发送,而不是默认的URL编码。在给定的内容中,`&lt;s:form&gt;`标签已经正确设置了`enctype`属性。 2...

    struts2 上传文件及打包下载zip

    接着,我们创建一个JSP页面作为用户界面,包含一个`&lt;s:form&gt;`标签,设置`enctype="multipart/form-data"`,这样浏览器才能正确地发送二进制文件数据。在表单内,添加一个`&lt;s:file&gt;`标签用于选择待上传的文件,以及...

    Struts2上传和下载Action配置

    在用户端,通常通过HTML表单来选择要上传的文件,表单的`enctype`属性必须设置为`multipart/form-data`,这样才能传输二进制数据。在Struts2中,我们可以使用`&lt;s:file&gt;`标签来创建一个文件选择字段。 ```html ...

    Struts2上传图片存数据库

    接下来,我们将文件转换为字节数组,因为数据库中的BLOB字段通常存储二进制数据。使用`file.getBytes()`方法可以完成这个转换。在数据库操作前,确保已经正确配置了Hibernate的SessionFactory,并且实体类中有一个...

    struts1上传图片,保存数据库,再显示jsp页面

    在“struts1上传图片,保存数据库,再显示jsp页面”这个场景中,我们将探讨如何利用Struts1实现文件上传,将图片数据保存到数据库,并在JSP页面上展示。 1. **Struts1的文件上传组件**: Struts1并不直接支持文件...

    struts2上传图片到Oracle

    为了将图片存入Oracle数据库,首先需要确保数据库支持BLOB类型字段,这通常用于存储二进制大对象,如图片。创建一个表,如`IMAGES`,包含`ID`(主键)和`IMAGE_DATA`(BLOB类型)字段。 接下来,我们需要使用JDBC连接...

    有关struts2上传 有关struts2上传

    但是,为了支持文件上传,HTML表单需要设置`enctype="multipart/form-data"`,这使得表单数据可以包含二进制文件内容。在服务器端,Struts2框架提供了处理这些多部分请求的机制。 配置Struts2文件上传需要几个关键...

    struts2文件上传源码和步骤

    文件上传的本质是客户端浏览器将本地文件以二进制流的形式发送到服务器端。在 Struts2 中,我们通常会创建一个 Action 类,该类包含用于接收文件的属性,并通过表单提交来处理文件。 2. **Struts2 单个文件上传**...

    struts框架写的文件上传下载系统

    1. **文件上传**:用户登录后,可以使用系统提供的上传功能选择本地的文件,Struts框架通过Servlet API中的Part接口处理文件流,将文件从客户端传输到服务器的指定目录。此过程需要对文件大小、类型进行限制,以防止...

Global site tag (gtag.js) - Google Analytics