说明这是一个ssh集成项目中使用Struts做的上传图片的demo,数据库中存储的是上传图片的名称
需要在webroot下建一个upload的文件夹,上传之后可以在你的WEB服务器,你的工程里面看到你上传的图片。
这是一个action
package com.song.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.song.form.FileUploadAndSaveForm;
import java.io.*;
public class FileUploadAndSaveAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
FileUploadAndSaveForm myForm = (FileUploadAndSaveForm) form;
FormFile myFile = myForm.getTheFile();
String contentType = myFile.getContentType();
//Get the file name
String fileName = myFile.getFileName();
//String fileName = request.getParameter("id");
//int fileSize = myFile.getFileSize();
byte[] fileData = myFile.getFileData();
//Get the servers upload directory real path name
String filePath = getServlet().getServletContext().getRealPath("/")
+ "upload";
if (!fileName.equals("")) {
System.out.println("Server path:" + filePath);
//Create file
File fileToCreate = new File(filePath, fileName);
//If file does not exists create file
if (!fileToCreate.exists()) {
FileOutputStream fileOutStream = new FileOutputStream(
fileToCreate);
fileOutStream.write(myFile.getFileData());
fileOutStream.flush();
fileOutStream.close();
}
}
//Set file name to the request object
request.setAttribute("fileName", fileName);
System.out.println(fileName);
return mapping.findForward("success");
}
}
form
package com.song.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class FileUploadAndSaveForm extends ActionForm {
private FormFile theFile;
public FormFile getTheFile() {
return theFile;
}
public void setTheFile(FormFile theFile) {
this.theFile = theFile;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
}
下面是两个JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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 'MyJsp.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 bgcolor="white">
<form action="fileUploadAndSave.do" method="post" enctype="multipart/form-data" >
<input type="hidden" name="id" value="0002.jpg">
File Name <input type="file" name="theFile">
<input type="submit" value="submit">
</form>
</body>
<html>
<head>
<title>Success</title>
</head>
<body>
<%
String fileName=(String)request.getAttribute("fileName");
%>
<p align="center"><font size="5" color="#000080">File Successfully Received</font></p>
<p align="center"><a href="upload/<%=fileName%>">Click here to download</a></p>
<img src="upload/<%=fileName%>">
</body>
</html>
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="fileUploadAndSaveForm" type="com.song.form.FileUploadAndSaveForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/fileUploadAndSave"
type="com.song.action.FileUploadAndSaveAction"
name="fileUploadAndSaveForm"
scope="request"
validate="true"
input="/FileUploadAndSave.jsp">
<forward name="success" path="/downloaduploadedfile.jsp"/>
</action>
</action-mappings>
<message-resources parameter="com.song.ApplicationResources" />
</struts-config>
以上的程序是经过我的测试的
分享到:
相关推荐
【SSH+Oracle上传图片】项目详解 在Java Web开发中,SSH(Struts2、Spring、Hibernate)框架常用于构建企业级应用。本项目重点在于如何通过SSH框架将图片数据存储到Oracle数据库的Blob列中。以下是实现这一功能的...
ssh下实现用户登陆 管理文件 文件的上传与下载
### 使用SSH实现图片上传知识点详解 #### 一、概述 本文档主要介绍如何利用SSH(Struts2 + Spring + Hibernate)框架实现图片上传功能。在Web应用开发中,图片上传是一项常见需求,尤其是在社交网络、博客系统等...
以上就是SSH框架中使用Struts2和Hibernate实现图片上传的主要知识点,涵盖了Web请求处理、ORM框架、文件上传、数据库操作以及前端交互等多个方面。实际项目开发时,还需要结合具体的业务需求和安全规范进行详细设计...
### SSH2上传实现详解 #### 一、概述 在现代Web开发中,文件上传是常见的需求之一。本文将详细介绍如何利用SSH2(Struts2 + Spring + Hibernate)框架结合ExtJS前端库实现文件上传功能。具体包括前端界面设计、...
在本场景中,"SSH图片上传"是指利用SSH框架实现图片的上传功能,并按照时间(年-月、日)进行分类存储。这个功能对于许多网站,特别是那些需要用户提交图片内容的社交平台或者电子商务系统来说,是非常常见的需求。 ...
在IT行业中,文件上传是一项常见的功能,特别是在Web应用中,用户可能需要上传各种类型的文件,如图片、文档或音频。SSH框架,即Spring、Struts2和Hibernate的组合,是Java Web开发中广泛使用的MVC架构。在这个场景...
本文将详细介绍如何使用SSH进行文件上传和下载,以及相关的知识点。 首先,SSH文件传输通常依赖于两个主要命令:`scp`(Secure Copy)和`sftp`(Secure File Transfer Protocol)。这两个工具都基于SSH协议,提供在...
在这个"SSH图片上传例子"中,我们将探讨如何在SSH框架下实现图片的单个上传功能,并将其与数据库集成。 首先,我们需要了解SSH框架的基本概念。Struts2是基于MVC模式的Web应用框架,用于处理用户请求并将其转发到...
在电商平台上,用户可能需要上传文件,如产品图片、发票证明或个人照片。SSH整合可以提供一个安全的文件上传通道,防止文件在传输过程中被篡改或窃取。同时,它还可以确保只有经过验证的用户才能上传文件,以防止...
在这个场景中,"SSH中实现上传下载"指的是利用这些框架来处理文件和图片的上传与下载功能。下面我们将详细探讨如何在这样的环境中实现这个功能。 首先,Struts作为MVC(Model-View-Controller)设计模式的实现,...
压缩包内的“SSH2Html”文件可能包含了与SSH2相关的HTML页面,这些页面可能是用户界面,用于展示图片、上传图片或下载图片。这些页面可能通过JavaScript与后端服务进行交互,实现图片的上传和下载功能。 总结来说,...
本文将详细讲解如何在SSH框架下实现文件的批量上传功能,主要涉及Struts2中的`FormFile`组件。 首先,让我们了解SSH框架的核心组件: 1. **Spring**:这是一个全面的轻量级应用框架,提供了依赖注入(DI)和面向切...
文件上传是Web应用中常见的功能,用于让用户提交图片、文档等数据到服务器。 **Spring框架**: Spring是整个SSH架构的核心,它负责管理应用程序的组件,包括数据库连接、业务逻辑和服务层。在文件上传场景中,...
本项目基于"Jcrop ssh 头像上传前后台"的标题和描述,我们可以探讨以下几个关键知识点: 1. **Jcrop**:Jcrop是一款JavaScript图像裁剪工具,它允许用户在网页上选取图像的一部分作为裁剪区域。Jcrop提供了丰富的...
在这个"SSH增删改查+分页+图片上传"的项目中,我们将深入探讨这三个框架在实际应用中的结合以及它们如何协同工作来实现数据管理、页面展示和文件上传等功能。 首先,Struts1是一个基于MVC(Model-View-Controller)...
在SSH框架中,文件上传功能是常见的需求,特别是在处理用户提交的表单数据时,例如图片、文档或者其他多媒体文件的上传。这个“ssh框架上传文件测试”可能是针对这一功能的一个实践项目或测试案例。 首先,让我们...
7. **安全性**:为了防止恶意文件上传和跨站脚本攻击(XSS),需要对上传的文件类型进行检查,限制只能上传特定类型的文件(如图片、文档等)。同时,对用户输入进行过滤和转义,防止注入攻击。 8. **异常处理**:...
在这个场景中,使用jsp(JavaServer Pages)作为前端页面,action(可能是Struts2框架中的Action类)作为后端控制器来实现图片上传至SSH(Secure Shell)服务器。SSH是一种网络协议,常用于安全地远程登录到服务器,...
本教程将详细讲解如何在SSH框架下实现文件的上传与下载功能,以及如何在页面上展示上传后的图片文件。 1. **Struts2**:作为MVC框架,Struts2负责处理HTTP请求,定义Action类来处理业务逻辑,并返回相应的结果。在...