`
liu_lm_lm
  • 浏览: 10747 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

strust2 空文件上传问题

OS 
阅读更多
struts2 当上传文件为空时不会在临时目录创建该文件,应用会抛出FileNotFoundException 下面是一种替代方法 创建后也不必删除,因为是空文件。
		public String saveCreateDoc(){
		try{
			this.doc.setUser(this.getCurrentUser());			//文档创建人
			this.doc.setDocLatestVersion(1l);					//新建档案时的版本为第一个版本
			this.docService.txStore(doc);						//保存文档
			
			//获取系统配置文件
			ProjectConfig pc = ProjectConfig.getInstance();
			
			//保存上传文件
			InputStream is;
			//此处的try catch 处理是为了处理struts2 上传文件大小为0KB的bug, 当文件为空时,在临时目录创建一个同名文件
			try{
				is = new FileInputStream(this.docFile);
			}catch(FileNotFoundException e)
			{	
				File tempfile = new File(pc.getFileSaveTempDir() + pc.getFileDirSeparator() + this.docFileFileName);
				if(!tempfile.exists()){
					tempfile.createNewFile();
				}
				is = new FileInputStream(tempfile);
			}

			OutputStream os = new FileOutputStream(pc.getFileSaveDir() + pc.getFileDirSeparator() + docFileFileName);			
			
			byte[] buffer = new byte[400];
			int length = 0;
			while((length = is.read(buffer)) > 0){
				os.write(buffer, 0, length);
			}
			//关闭输出流
			os.close();
		}catch(Exception e){
			LOG.error("新建档案--保存档案发生错误--档案名称为:" + doc.getDocName(), e);
		}
		return SUCCESS;
	}
分享到:
评论

相关推荐

    struts2+jquery+ajax文件异步上传

    在文件上传场景中,Struts2主要负责接收前端发送的文件数据,并将这些数据存储到服务器的指定位置。配置Struts2的Action类和相应的XML配置文件,可以定义文件上传的处理逻辑。 接着,jQuery是一个高效、简洁的...

    struts2文件上传实例

    1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`<result>`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...

    Struts2+上传文件源码

    这个"Struts2+上传文件源码"是一个演示如何在Struts2框架下实现文件上传的示例代码。 首先,我们来理解上传文件的基本流程。在Struts2中,文件上传是通过`Commons FileUpload`库来处理的,这是一个Apache提供的开源...

    struts2文件上传的一个简单的例子

    本示例将详细介绍如何在Struts2框架下实现一个简单的文件上传功能。 首先,我们需要理解Struts2文件上传的基本原理。Struts2提供了一个名为`FileUpload interceptor`的拦截器,用于处理文件上传请求。这个拦截器会...

    struts2实现文件上传

    在Struts2中实现文件上传是一项常见的需求,这通常涉及到客户端浏览器与服务器之间的数据交互,以及服务器端对上传文件的处理。下面我们将深入探讨如何在Struts2框架下实现文件上传。 首先,我们需要在HTML表单中...

    Struts1文件上传、单文件、多文件上传(上传文件大小问题,如何设置无限制)

    本文将详细介绍如何在Struts1中实现单文件上传和多文件上传,并探讨如何解决上传文件大小限制的问题。 #### 二、单文件上传 ##### 1. JSP页面设计 为了实现单文件上传,我们需要在JSP页面中创建一个表单,该表单...

    struts2文件上传

    ### Struts2文件上传知识点详解 #### 一、概述 在Web开发中,文件上传是一项常见功能。Struts2框架提供了简洁高效的API来处理文件上传需求。本文将深入讲解Struts2框架中如何通过Action类实现文件上传,并对其中的...

    关于Struts2的文件上传

    这篇博客“关于Struts2的文件上传”深入探讨了如何在Struts2框架下实现这一功能。 首先,我们要理解Struts2文件上传的基本原理。它依赖于Apache的Commons FileUpload库,该库处理HTTP多部分请求,允许用户通过表单...

    struts1实现的文件批量上传

    在Struts1中实现文件上传,我们需要考虑前端的HTML表单、ActionForm、Struts配置文件以及后台的Action处理。 首先,前端实现是通过一个支持多文件选择的HTML表单来完成的。表单需要设置`enctype="multipart/form-...

    java结合struts的上传下载文件

    其中`fileUploadStack`是Struts2内置的文件上传拦截器,用于处理文件上传的细节。 2. **创建Action类**: 创建一个继承自`ActionSupport`的类,例如`FileUploadAction`,并添加文件属性及对应的getter和setter...

    struts2上传文件(eclipse项目)

    通过这个"struts2upload"项目,我们可以学习到Struts2框架中关于文件上传的完整流程,包括配置、Action处理、JSP页面设计等,这对于理解和实现基于Struts2的文件上传功能非常有帮助。同时,这也是一个很好的实践项目...

    struts实现多文件上传2.txt

    ### Struts 实现多文件上传知识点解析 #### 一、Struts框架简介 在深入了解如何使用Struts框架实现多文件上传之前,我们首先简要回顾一下Struts框架的基础概念及其重要性。 Struts是一个开源的MVC(Model-View-...

    Struts2 实现文件简单上传

    Struts2是一个流行的Java ...在Struts2中,我们可以使用`org.apache.struts2.interceptor.FileUploadInterceptor`拦截器来处理文件上传。为了启用这个拦截器,我们需要在struts.xml配置文件中添加以下配置: ```xml ...

    Struts2多文件上传,字段一一对应。

    在Struts2中处理多文件上传是一项常见的需求,特别是在处理用户提交的表单时,例如上传图片、文档或其他多媒体文件。这个场景中,我们需要确保每个上传的文件与表单中的特定字段相对应,以便正确地存储和处理这些...

    struts2 文件上传和下载

    在Struts2中,文件上传和下载是常见的功能,它们允许用户在客户端与服务器之间交换文件。本篇文章将深入探讨Struts2中的文件上传和下载机制。 一、文件上传 1. **配置Action支持文件上传** 在Struts2中,要实现...

    struts2文件上传带进度条

    struts2+hibernate+spring,struts2文件上传带进度条,页面美观,功能齐全。下载后把工程导入到myeclipse后即可运行,不需任何配置。由于压缩后文件较大,所以该功能下的lib为空,下载后请自己导入struts2,hibernate...

    struts实现上传图片

    在图片上传的场景下,Action类需要处理文件上传的请求,包括接收文件、处理文件(如缩放、添加水印)、保存文件到服务器等操作。上述代码片段展示了如何在Action类中实现这些功能。例如,使用`BufferedInputStream`...

    struts2上传实例

    在Struts2中,实现文件上传功能是一项常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本实例主要关注如何在Struts2框架下进行文件上传。 首先,我们需要在Struts2配置文件(通常为struts.xml)中...

    Strut2 文件上传和下载

    和文件上传类似,配置Struts2的结果映射,让Action方法处理完文件下载后返回一个空的结果,避免页面重定向。 ### 三、安全注意事项 1. **文件名安全** 上传的文件名可能包含恶意字符,如路径遍历攻击,因此在...

    struts2图片上传

    Struts2图片上传功能是Web应用中常见的需求,它允许用户在前端选择本地...需要注意的是,实际项目中还需要考虑安全性问题,如防止文件覆盖、XSS攻击、目录遍历等,以及优化上传性能,如使用异步上传、多文件上传等。

Global site tag (gtag.js) - Google Analytics