`

Struts2上传图片和注意事项

阅读更多

Struts2上传图片和注意事项

 

1.必须有拦截器:

(1).可放在公共拦截器中
<interceptor-ref name="fileUpload"/>
(2).可放在action中
<!-- 配置名字为fileUpload的拦截器 -->
<interceptor-ref name="fileUpload">
 	<!-- 配置允许上传的文件类型 -->
  	<param name="allowedTypes">image/bmp,image/png,image/gif,
     	image/jpeg,image/pjpeg,image/x-png</param>
 	<!-- 配置允许上传文件的大小(单位字节) -->
 	<param name="maximumSize">104857600</param>
</interceptor-ref>
<!-- defaultStack必须配置在fileUpload后面 -->
<interceptor-ref name="defaultStack"></interceptor-ref>

 
    
 
    
 

 

2.修改限制的大小:

<constant name="struts.multipart.maxSize" value="10485760" />
或
struts.multipart.maxSize=104857600

注:不用改的地方:

struts.multipart.parser=jakarta
struts.multipart.saveDir=??

 

3.页面的form中需要加:

enctype="multipart/form-data"
 

 

4.页面的上传域如下:(注意name属性)

<input type="file" name="image" />
 

 

5.action中必须加的属性:(注意添加set/get方法)

private File image; // 上传图片获取的File对象
private String imageFileName; //上传图片获取的图片名字
private String imageContentType; //上传图片获取的图片类型
 

上传工具类:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Calendar;


public class UploadFileUtil {
	
	
	/**
	 * 上传图片的方法
	 * @param imageFile  // 上传图片获取的File对象
	 * @param imageName	 //上传图片获取的图片名字
	 * @return
	 * @throws IOException
	 */
	public static String uploadImage(File imageFile, String imageName ) throws IOException {
		
		int random = (int)(Math.random()*900)+100;
		/*创建输入流*/  
		InputStream is = new FileInputStream(imageFile);  
		/*设置上传目录*/  
		String path = "G:\\resource";
		Calendar cal=Calendar.getInstance();
		String imageUrlPath = "images" + File.separator + cal.get(Calendar.YEAR) + File.separator + (cal.get(Calendar.MONTH)+1) + File.separator 
				+  cal.get(Calendar.DAY_OF_MONTH);
		String imagePath = path + File.separator + imageUrlPath;
		File file = new File(imagePath);
		if (!file.exists()) {
			file.mkdirs();
		}
		/*设置目标文件*/  
		String targetImageName = "" + cal.get(Calendar.HOUR) + cal.get(Calendar.MINUTE) + cal.get(Calendar.SECOND) 
				+ cal.get(Calendar.MILLISECOND) + random + imageName.substring(imageName.indexOf("."));
		File target = new File(imagePath + File.separator + targetImageName);
		/*创建输出流*/  
		OutputStream os = new FileOutputStream(target);  
		byte[] buffer = new byte[1024];  
		int length = 0;  
		while ((length = is.read(buffer)) > 0) {  
		    os.write(buffer, 0, length);  
		}  
		is.close();  
		os.close();  
		return imageUrlPath + File.separator + targetImageName;
	}

}

  
     
 

参考:

struts2实现文件上传(配置拦截器)

struts2上传文件问题汇总

struts文件上传,获取文件名和文件类型  

  • 大小: 11 KB
  • 大小: 24.1 KB
  • 大小: 22.4 KB
分享到:
评论

相关推荐

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

    struts2图片和文件上传

    标题与描述概述的知识点主要集中在Struts2框架中的文件与...以上就是Struts2框架中文件与图片上传功能的详细解析,通过遵循上述步骤和注意事项,开发者可以有效地实现文件上传功能,提升应用程序的实用性和用户体验。

    简单使用注解的方式struts2的图片上传

    本项目主要介绍如何通过注解的方式实现Struts2的图片上传功能,这是一个非常实用的功能,尤其对于构建交互性强的Web应用来说。在本文中,我们将深入探讨Struts2的注解使用、图片上传流程以及相关的Java配置。 1. **...

    Struts2实现文件上传

    8. **安全注意事项**: - 避免路径遍历攻击,确保上传的文件被保存在预定的目录下,不包含任何动态或用户可控的路径。 - 进行文件类型检查,防止执行恶意代码,如上传`.jsp`或`.php`文件。 - 考虑使用随机文件名...

    struts2中绝对路径上传图片和显示图片

    在Struts2中处理文件上传是一项常见的任务,尤其是上传图片并展示它们。本篇将详细介绍如何在Struts2中实现绝对路径上传图片以及在页面上显示这些图片。 首先,了解文件上传的基本概念。在Web开发中,文件上传允许...

    简单易懂的struts2文件上传

    在Struts2中,文件上传功能是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述...

    struts2文件上传与下载

    在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户在Web表单中提交的文件,如图片、文档等。下面将详细介绍Struts2中文件上传和下载的实现方法。 ### 1. 文件上传 #### 1.1 配置Struts2 首先,我们...

    struts图片上传与下载

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

    struts2中文件上传过滤codeFilter

    在Struts2框架中,文件上传是一个常见的功能,它允许用户通过Web应用程序上传文件到服务器。`codeFilter`在此上下文中通常是指一个自定义过滤器,用于在文件上传过程中进行额外的安全检查或处理。这个过滤器可以防止...

    uploadifive struts2实现图片上传

    实现`uploadifive`和`Struts2`的图片上传流程大致如下: 1. **前端设置**: - 引入`uploadifive`所需的JavaScript和CSS资源到HTML页面。 - 创建一个用于文件选择的`input[type=file]`元素,并配置`uploadifive`...

    struts2文件上传下载

    在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户通过表单提交的文件数据。以下是对这个主题的详细解释: 一、Struts2文件上传 1. **配置Action类**:在Struts2中,你需要创建一个Action类来处理...

    struts2 文件上传 教程

    `.classpath`和`.project`文件是Eclipse项目的配置文件,它们记录了项目的类路径和构建设置,确保这些设置正确指向了Struts2和文件上传的依赖。 2. **配置struts.xml**:在`struts.xml`配置文件中,我们需要定义一...

    Struts2 文件上传总结

    本文将详细讲解Struts2框架中实现文件上传的两种常见方法,并探讨相关的注意事项和技术要点。 首先,我们需要了解Struts2中文件上传的基础知识。Struts2通过`struts2-core`库提供的`FileUpload`拦截器来处理文件...

    struts2文件上传代码.rar

    通过学习和理解这个例子,开发者可以掌握Struts2处理文件上传的基本步骤和注意事项,包括Action的编写、配置文件的更新以及前端表单的设计。在实际开发中,确保文件上传的安全性和稳定性是非常重要的,因此要关注...

    struts2多文件上传

    在Struts2中处理多文件上传是一项常见的需求,特别是在处理用户需要上传多个文件的场景,如图片库、文档分享等。本篇将深入探讨Struts2如何实现多文件上传,并提供相关的知识点。 1. **Struts2上传组件** Struts2...

    Struts 上传下载

    Struts上传 #### 1.1 ActionForm 在Struts中,`ActionForm` 类是用于收集用户输入的数据。对于文件上传,我们需要创建一个继承自 `org.apache.struts.upload.FormFile` 的类,例如 `UploadForm`,在这个类中定义一...

    struts2.0上传文件

    七、安全注意事项 在实现文件上传时,需要注意以下安全问题: 1. 验证文件类型:防止上传恶意文件,如脚本或病毒。 2. 限制文件大小:避免服务器被大量大文件拖垮。 3. 重命名上传文件:防止覆盖已有文件或利用特殊...

    Struts实现上传下载功能

    在Struts框架中实现上传和下载功能,是Web应用中常见的需求,例如用户上传图片、文档等,或者服务器提供文件供用户下载。下面将详细介绍如何在Struts中实现这两个功能。 首先,我们需要理解上传和下载的基本原理。...

Global site tag (gtag.js) - Google Analytics