`
flyboNew
  • 浏览: 18782 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts上传图片到数据库

阅读更多

    这几天研究了一个struts上传到服务器,然后服务器转存到数据库的例子。直接上代码吧……

    要值得注意的是,文件上传到服务器后,其文件名和文件类型会被更改,保持不变的只有文件的文件流……

    这是action的代码:

package com.test.action;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.test.dao.UploadDAO;

public class UploadAction extends ActionSupport{
	
	private static final long serialVersionUID = -3541943466145372393L;
	
	private static final String LOGIN = "login";
	
	private List<File> files;

	public List<File> getFile() {
		return files;
	}

	public void setFile(List<File> file) {
		this.files = file;
	}
	
	public String execute() throws Exception{
		for (File file : files) {
			saveFile(file);
		}
		return "success";
	}
	
	private void saveFile(File file) throws IOException, ClassNotFoundException, SQLException{
		UploadDAO dao = new UploadDAO();
		dao.insertDB(file);
	}
	
	
	public String login(){
		return LOGIN;
	}
}

    dao层的代码:

package com.test.dao;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.test.util.DBConnection;

public class UploadDAO {
	public boolean insertDB(File file) throws ClassNotFoundException, SQLException, IOException{
		Connection conn = DBConnection.getConnection();
		String sql = "insert into imgtest(image) values(?)";
		InputStream stream = new FileInputStream(file);
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setBinaryStream(1, stream, stream.available());
		boolean result = ps.execute();
		return result;
	}
}
 

   struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<!-- Action所在包定义 -->
	<constant name= "struts.multipart.maxSize" value="5242880" />
	<package name="fileupload" extends="struts-default" namespace="/">
		
		<action name="upload" class="com.test.action.UploadAction">
			<result name="login">/upload-input.jsp</result>
			<result name="success">/upload-result.jsp</result>
			<!-- 显示配置文件上传拦截器 -->
			<interceptor-ref name="fileUpload">
				<!--指定特定类型的上传文件 -->
				<param name="allowedTypes">image/gif,image/jpeg,image/pjpeg,text/xml,application/vnd.ms-excel</param>
			</interceptor-ref>
			<interceptor-ref name="defaultStack" />
		</action>

	</package>

</struts>    
分享到:
评论

相关推荐

    使用Struts向MySQL数据库中存储图片

    使用Struts实现了向MySQL数据库中存储图片的功能。有一些问题没能解决:中文乱码问题,上传图片不能太大等等。虽然不太完善,作为参考还是可以的

    struts下上传图片到数据库并显示到页面实例

    在这个实例中,我们将探讨如何在Struts框架下实现图片的上传功能,将图片保存到数据库,并在页面上显示出来。 首先,我们需要创建一个Action类来处理用户上传的图片。这个Action类通常会包含一个方法,如`execute()...

    Struts2上传图片存数据库

    总结起来,"Struts2上传图片存数据库"涉及到的关键技术包括Struts2的文件上传处理、Hibernate的BLOB类型操作、数据库交互以及安全控制。通过这个案例,开发者可以学习到如何将Web应用中的文件操作与数据库存储相结合...

    关于struts2.1.6上传图片到数据库的简单项目

    在这个“上传图片到数据库”的简单项目中,我们将深入探讨如何利用Struts2实现图片上传功能,并将其存储到MySQL数据库中,最终实现在页面上展示上传的图片。 首先,我们需要导入两个关键的库:`commons-fileupload-...

    struts文图片上传 并存入数据库 在jsp页面显示

    在这个特定的项目中,我们看到的是一个关于如何使用Struts实现图片上传、存储到数据库以及在JSP页面显示的过程。以下是相关的知识点详解: 1. **Struts框架**:Struts是Apache软件基金会的一个开源项目,它提供了...

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

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

    struts2上传图片到Oracle

    在"struts2上传图片到Oracle"这个场景中,我们将探讨如何使用Struts2框架实现文件上传,以及如何将这些上传的图片存储到Oracle数据库中。 首先,让我们了解文件上传的基本流程。在Struts2中,我们通常会创建一个...

    struts1.2实现图片上传

    总结来说,Struts1.2实现图片上传涉及到ActionForm、Action类的配置和实现,以及HTML表单的设计。在实际开发中,还需要考虑文件安全、性能优化等因素。通过熟练掌握这些知识点,我们可以构建出稳定、高效的图片上传...

    struts框架图片上传和显示

    在这个特定的场景中,我们关注的是如何使用Struts来处理图片的上传和显示。 首先,让我们了解图片上传的过程。在Struts中,我们可以利用`struts2-fileupload`库来实现文件上传的功能。这个库提供了`...

    ssh框架用struts2 hibernate实现图片的上传源码

    在图片上传的场景中,Struts2提供Action类来接收用户上传的图片文件,同时可以通过配置Struts2的配置文件(struts.xml)来定义Action的映射路径和处理方法,使得前端请求能够正确地路由到后端的处理逻辑。...

    struts1.2 图片上传下载 源代码

    在这个"struts1.2 图片上传下载 源代码"中,我们可以学习到如何利用Struts1.2框架来实现这一功能。 首先,我们需要了解Struts1.2中的ActionForm类。ActionForm是模型层与控制器层之间的桥梁,用于接收和封装用户的...

    struts图片上传与下载

    在Struts框架中处理图片上传和下载是常见的需求,这通常涉及到用户界面交互、文件存储、数据库操作等多个环节。本文将深入探讨Struts中图片的上传与下载流程,并结合SQL数据库的使用,为开发者提供实用的指导。 **1...

    struts2上传图片

    在"struts2上传图片"这个场景下,我们将深入探讨如何在Struts2框架下实现用户上传图片的功能,并关注网站统计访问量以及防止重复提交的问题。 首先,上传图片是Web应用中常见的功能,它涉及到前端表单设计、后端...

    struts2.0图片上传代码

    Struts2.0图片上传是Web开发中常见的一项功能,涉及到的主要知识点包括Struts2框架、文件上传处理、IO流操作以及配置文件的设定。在本文中,我们将深入探讨这些内容,帮助你理解和实现Struts2.0环境下的图片上传功能...

    SSH框架实现文件上传(上传记录到数据库)

    在IT行业中,文件上传是一项常见的功能,特别是在Web应用中,用户可能需要上传各种类型的文件,如图片、文档或音频。SSH框架,即Spring、Struts2和Hibernate的组合,是Java Web开发中广泛使用的MVC架构。在这个场景...

    Struts+hibernate图片上传

    在这个“Struts+Hibernate图片上传”程序中,我们将探讨如何结合这两个框架来实现用户上传图片的功能,并将其存储到MySQL数据库。 首先,Struts框架负责处理用户的HTTP请求,提供前端与后端的交互。在图片上传过程...

    struts+spring上传图片实例

    3. **Spring的参与**:Spring可以通过Service层处理业务逻辑,例如将上传的图片保存到数据库或者特定的文件系统中。同时,Spring的IoC(Inversion of Control)容器可以管理Action类和其他服务类的生命周期。 4. **...

    ssh保存图片到数据库

    或者使用云存储服务,将图片上传到云服务,数据库中存储URL。 7. **安全性考虑**:在处理用户上传的图片时,要注意防止恶意文件上传,例如病毒或非法内容。可以通过检查文件类型、大小,甚至进行内容扫描来确保安全...

    Struts2+Hibernate实现文件上传

    在这个“Struts2+Hibernate实现文件上传”的项目中,我们将探讨如何结合这两个框架来实现在Web应用中上传图片并存储到数据库的过程。 首先,让我们从Struts2的角度来看。Struts2提供了一种灵活的MVC(模型-视图-...

    struts2+jdbc实现图片的存储与显示(图片存储在数据库内)

    在本项目"struts2+jdbc实现图片的存储与显示(图片存储在数据库内)"中,我们将探讨如何结合这两个技术来处理图片数据,将图片存储到数据库内,并从数据库中检索以供显示。 首先,我们需要了解在数据库中存储图片的...

Global site tag (gtag.js) - Google Analytics