记录下最近接触的用struct上传文件的方法。
符号表:<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');"/>
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;
}
}
<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环境下图片上传的问题,确保上传过程的安全和高效。记得在实际开发中根据项目需求进行适当的调整和优化。
Struts2是一个流行的Java Web框架,它为开发者提供了一种优雅的方式来构建可维护、可扩展且结构清晰的Web应用程序。...理解源码有助于你更好地掌握Struts2的工作原理,从而在遇到问题时能更高效地定位和解决。
总的来说,"struts2+jquery+ajax文件异步上传"是一个结合了后端处理和前端交互的文件上传解决方案,提供了良好的用户体验和灵活性。通过MyEclipse这样的集成开发环境,开发者可以方便地构建、调试和部署这样的项目。
Struts2 文件上传时遇到“类型不允许的问题”...通过仔细分析`struts2文件上传类型规则表.txt`,并适当调整配置,你就能成功解决这个问题。同时,为了增强系统的安全性,应该定期更新Struts2框架,遵循最佳安全实践。
本篇将深入探讨Struts2中的文件上传机制、步骤以及常见问题。 首先,我们要理解文件上传的基本原理。在Web应用中,文件上传通常涉及HTTP协议的`multipart/form-data`编码类型。这种编码方式允许在一个表单中提交多...
在"struts上传问题研究"这个主题中,我们将深入探讨Struts2框架中的文件上传功能,以及可能遇到的问题和解决方案。 文件上传是Web应用中常见的功能,Struts2通过Action类的`@FileUpload`注解或`@Params`注解支持...
描述中提到"研究了半天的ExtJs+Struts2多文件上传",暗示这个项目可能包含了一种或多文件同时上传的解决方案。在多文件上传中,用户可以选择多个文件,一次性上传,这在现代Web应用中非常常见,例如图片库、文档分享...
通过上述实践和调试,我们已经成功解决了Struts2框架下中文文件名上传和下载的乱码问题。在遇到类似问题时,可以按照这些步骤进行排查和修复。记住,关键在于正确配置Struts2的拦截器、请求编码以及在处理文件名时...
解决Struts2上传时候使用UTF-8的冲突问题: * 重新包装了JakartaMultiPartRequest提供Chartset的设置方法。 * 可以通过配置方式对MultiPartRequest中的内容进行编码设定,请在Struts.xml中配置添加struts.multipart...
本教程将探讨如何通过集成Struts2框架在Java后端实现Android客户端的图片上传功能。首先,我们需要了解Android客户端的文件操作以及如何使用HTTP请求将数据发送到服务器。 在Android客户端,我们通常使用`Intent`来...
在“struts2文件上传下载实例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于许多Web应用程序来说是必不可少的特性。 首先,`pom.xml`文件是Maven项目对象模型的配置文件,它定义了项目的...
"ext struts2 swfupload 跨域文件上传"这个主题涉及到三个关键技术和概念:EXTJS(Ext JS)、Struts2以及SwfUpload,它们共同解决了Web应用中的跨域文件上传问题。 EXTJS是一种强大的JavaScript库,用于构建富...
而Struts2是一个基于MVC(模型-视图-控制器)设计模式的开源Web应用框架,它提供了一套完整的文件上传解决方案。了解Servlet的文件上传机制有助于我们更好地理解Struts2如何处理此类操作。 首先,让我们看看Servlet...
在这个实例中,我们主要关注的是如何在Struts2框架下实现文件上传功能,并结合MyBatis进行数据持久化处理。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它提供了强大的控制层,使得...
在这个“Struts2+Hibernate实现文件上传”的项目中,我们将探讨如何结合这两个框架来实现在Web应用中上传图片并存储到数据库的过程。 首先,让我们从Struts2的角度来看。Struts2提供了一种灵活的MVC(模型-视图-...
本文将深入探讨如何解决Struts2上传文件超过最大值的问题,提供一种实践证明可行的解决方案。 ### Struts2上传文件大小限制 Struts2框架默认对上传文件的大小有限制,这一限制主要由`struts.multipart.maxSize`...
在Java Web环境中,Struts2框架提供了一套完整的解决方案来处理文件上传请求。下面将详细介绍Struts2文件上传的核心概念、实现步骤以及需要注意的要点。 1. **Struts2框架基础** Struts2是一个基于MVC(Model-View...
这篇博客“Struts2文件上传的大小限制问题”可能讨论了如何在Struts2中设置和管理这些限制。Struts2框架通过配置文件(如struts.xml或struts.properties)来控制文件上传的最大大小。开发者可以指定一个全局的限制,...
Struts 提供了强大的支持来处理文件上传操作。下面将详细介绍Struts 实现文件上传的相关知识点。 ### 1. Struts 框架概述 Struts 是Apache软件基金会下的一个开源项目,其主要目标是提供一个可扩展且易于维护的...
在学习和实践中,开发者可以参考CSDN等技术社区的资源,获取关于Struts2文件上传的实战经验和解决方案。遇到问题时,可以发帖提问或搜索已有的解答,与其他开发者交流,共同进步。 综上所述,Struts2的文件上传功能...