`
saluya
  • 浏览: 120682 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

struts2 解决上传问题

阅读更多

记录下最近接触的用struct上传文件的方法。

 

  • html
符号表:<input type="file" id="fhb" name="binfile" style="cursor:pointer;" onchange="fileChange(this,'fhb');"/>
bin文件:<input type="file" id="bin" name="binfile" style="cursor:pointer;" onchange="fileChange(this,'bin');"/>

补丁文件:<input type="file" id="bdwj1" name="upload" style="cursor:pointer;" onchange="fileChange(this,'bdwj1');"/>

 

  •   action
public class UploadMoreAction extends ActionSupport {
	private static final int NUM = 8192;

	// 补丁文件
	private List<String> uploads;
	private List<String> fileNames;
	private List<String> uploadContentTypes;

	//bin和符号表
	private List<String> binfiles;
	private List<String> binfileFileNames;
	private List<String> binfileContentTypes;

	public void uploadFile() {
		if (this.getUpload() != null) {
			int i = 0;
			for (; i < this.getUpload().size(); i++) {
				InputStream is = new FileInputStream((String) this
						.getUpload().get(i));
				OutputStream os = new FileOutputStream("D:\\test"
						+ this.getFileNames().get(i));
				byte buffer[] = new byte[NUM];
				int count = 0;
				while ((count = is.read(buffer)) > 0) {
					os.write(buffer, 0, count);
				}
				os.close();
				is.close();
			}
		}
	}
	
	public void uploadBINSTFile() {
		if (this.getBinfile() != null) {
			int i = 0;
			for (; i < this.getBinfile().size(); i++) {
				InputStream is = new FileInputStream((String) this
						.getBinfile().get(i));
				OutputStream os = new FileOutputStream("D:\\test"
						+ this.getBinfileFileName().get(i));
				byte buffer[] = new byte[NUM];
				int count = 0;
				while ((count = is.read(buffer)) > 0) {
					os.write(buffer, 0, count);
				}
				os.close();
				is.close();
			}
		}
	}
	public List<String> getUploadFileName() {
		return fileNames;
	}
	public void setUploadFileName(List<String> fileNames) {
		this.fileNames = fileNames;
	}
	public List<String> getUpload() {
		return uploads;
	}
	public void setUpload(List<String> uploads) {
		this.uploads = uploads;
	}
	public void setUploadContentType(List<String> contentTypes) {
		this.uploadContentTypes = contentTypes;
	}
	public List<String> getUploadContentType() {
		return this.uploadContentTypes;
	}
	public List<String> getFileNames() {
		return fileNames;
	}
	public void setFileNames(List<String> fileNames) {
		this.fileNames = fileNames;
	}
	public List<String> getBinfile() {
		return binfiles;
	}
	public void setBinfile(List<String> binfiles) {
		this.binfiles = binfiles;
	}
	public List<String> getBinfileFileName() {
		return binfileFileNames;
	}
	public void setBinfileFileName(List<String> binfileFileNames) {
		this.binfileFileNames = binfileFileNames;
	}
	public List<String> getBinfileContentType() {
		return binfileContentTypes;
	}
	public void setBinfileContentType(List<String> binfileContentTypes) {
		this.binfileContentTypes = binfileContentTypes;
	}
}
  • struts.xml
<action name="upload_*" class="com.UploadMoreAction" method="{1}">
		<interceptor-ref name="fileUpload">
		
			<!-- 配置允许上传的文件类型,多个用","分隔 -->
			<param name="allowedTypes">
				<!--image/bmp,image/png,image/gif,image/jpeg,image/jpg-->
			</param>
			
			<!-- 配置允许上传的文件大小,单位字节-->
			<param name="maximumSize">5000000000000000</param>  
		</interceptor-ref>
		
		<interceptor-ref name="defaultStack" />
		<result name="success">success.jsp</result>
</action>

 

  • 为了明了其中蹊跷,debug跟了下其中的值
  • 补丁文件上传了名为test.txt, test2.txt的文本文件
  • 符号表和bin文件上传了名为st.txt, bin.txt的文本文件
字段
uploads [\tmp\upload__1fea43f6_133af286d4d__8000_00000012.tmp, \tmp\upload__1fea43f6_133af286d4d__8000_00000013.tmp]
fileNames [test.txt, test2.txt]
uploadContentTypes  [text/plain, text/plain]
binfiles [\tmp\upload__1fea43f6_133af286d4d__8000_00000010.tmp, \tmp\upload__1fea43f6_133af286d4d__8000_00000011.tmp] 
binfileFileNames [st.txt, bin.txt]
binfileContentTypes [text/plain, text/plain]
分享到:
评论

相关推荐

    ueditor struts2图片上传问题解决办法

    在使用富文本编辑器ueditor与Struts2框架结合进行...通过理解和掌握这些知识点,可以有效地解决ueditor在Struts2环境下图片上传的问题,确保上传过程的安全和高效。记得在实际开发中根据项目需求进行适当的调整和优化。

    Struts2文件上传源码

    Struts2是一个流行的Java Web框架,它为开发者提供了一种优雅的方式来构建可维护、可扩展且结构清晰的Web应用程序。...理解源码有助于你更好地掌握Struts2的工作原理,从而在遇到问题时能更高效地定位和解决。

    struts2+jquery+ajax文件异步上传

    总的来说,"struts2+jquery+ajax文件异步上传"是一个结合了后端处理和前端交互的文件上传解决方案,提供了良好的用户体验和灵活性。通过MyEclipse这样的集成开发环境,开发者可以方便地构建、调试和部署这样的项目。

    struts2文件上传,一直报类型不允许的问题

    Struts2 文件上传时遇到“类型不允许的问题”...通过仔细分析`struts2文件上传类型规则表.txt`,并适当调整配置,你就能成功解决这个问题。同时,为了增强系统的安全性,应该定期更新Struts2框架,遵循最佳安全实践。

    struts2s上传文件

    本篇将深入探讨Struts2中的文件上传机制、步骤以及常见问题。 首先,我们要理解文件上传的基本原理。在Web应用中,文件上传通常涉及HTTP协议的`multipart/form-data`编码类型。这种编码方式允许在一个表单中提交多...

    struts上传问题研究

    在"struts上传问题研究"这个主题中,我们将深入探讨Struts2框架中的文件上传功能,以及可能遇到的问题和解决方案。 文件上传是Web应用中常见的功能,Struts2通过Action类的`@FileUpload`注解或`@Params`注解支持...

    能运行的ExtJs+Struts2文件上传

    描述中提到"研究了半天的ExtJs+Struts2多文件上传",暗示这个项目可能包含了一种或多文件同时上传的解决方案。在多文件上传中,用户可以选择多个文件,一次性上传,这在现代Web应用中非常常见,例如图片库、文档分享...

    struts2上传下载 解决中文文件名乱码

    通过上述实践和调试,我们已经成功解决了Struts2框架下中文文件名上传和下载的乱码问题。在遇到类似问题时,可以按照这些步骤进行排查和修复。记住,关键在于正确配置Struts2的拦截器、请求编码以及在处理文件名时...

    struts2上传插件(中文编码冲突解决)

    解决Struts2上传时候使用UTF-8的冲突问题: * 重新包装了JakartaMultiPartRequest提供Chartset的设置方法。 * 可以通过配置方式对MultiPartRequest中的内容进行编码设定,请在Struts.xml中配置添加struts.multipart...

    Android+struts2实现图片上传

    本教程将探讨如何通过集成Struts2框架在Java后端实现Android客户端的图片上传功能。首先,我们需要了解Android客户端的文件操作以及如何使用HTTP请求将数据发送到服务器。 在Android客户端,我们通常使用`Intent`来...

    struts2文件上传下载实例

    在“struts2文件上传下载实例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于许多Web应用程序来说是必不可少的特性。 首先,`pom.xml`文件是Maven项目对象模型的配置文件,它定义了项目的...

    ext struts2 swfupload 跨域文件上传

    "ext struts2 swfupload 跨域文件上传"这个主题涉及到三个关键技术和概念:EXTJS(Ext JS)、Struts2以及SwfUpload,它们共同解决了Web应用中的跨域文件上传问题。 EXTJS是一种强大的JavaScript库,用于构建富...

    通过Servlet文件上传理解Struts2文件上传原理(附源码)

    而Struts2是一个基于MVC(模型-视图-控制器)设计模式的开源Web应用框架,它提供了一套完整的文件上传解决方案。了解Servlet的文件上传机制有助于我们更好地理解Struts2如何处理此类操作。 首先,让我们看看Servlet...

    Struts2+MyBatis+Sping框架+Struts2上传实例

    在这个实例中,我们主要关注的是如何在Struts2框架下实现文件上传功能,并结合MyBatis进行数据持久化处理。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它提供了强大的控制层,使得...

    Struts2+Hibernate实现文件上传

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

    struts2 上传文件超过最大值解决办法

    本文将深入探讨如何解决Struts2上传文件超过最大值的问题,提供一种实践证明可行的解决方案。 ### Struts2上传文件大小限制 Struts2框架默认对上传文件的大小有限制,这一限制主要由`struts.multipart.maxSize`...

    Struts2文件上传

    在Java Web环境中,Struts2框架提供了一套完整的解决方案来处理文件上传请求。下面将详细介绍Struts2文件上传的核心概念、实现步骤以及需要注意的要点。 1. **Struts2框架基础** Struts2是一个基于MVC(Model-View...

    Struts2文件上传的大小限制问题

    这篇博客“Struts2文件上传的大小限制问题”可能讨论了如何在Struts2中设置和管理这些限制。Struts2框架通过配置文件(如struts.xml或struts.properties)来控制文件上传的最大大小。开发者可以指定一个全局的限制,...

    struts 文件上传 Struts实现文件上传

    Struts 提供了强大的支持来处理文件上传操作。下面将详细介绍Struts 实现文件上传的相关知识点。 ### 1. Struts 框架概述 Struts 是Apache软件基金会下的一个开源项目,其主要目标是提供一个可扩展且易于维护的...

    Struts2的上传功能还是很强大的,它可以自动拦截上传文件的相关信息……

    在学习和实践中,开发者可以参考CSDN等技术社区的资源,获取关于Struts2文件上传的实战经验和解决方案。遇到问题时,可以发帖提问或搜索已有的解答,与其他开发者交流,共同进步。 综上所述,Struts2的文件上传功能...

Global site tag (gtag.js) - Google Analytics