public ActionForward fileUp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException {
//获取表单及附件信息
FileForm _fileForm=(FileForm)form;
FormFile file=_fileForm.getFileName();
if(file!=null && file.getFileName().length()>0){
InputStream stream=null;
try{
//判断附件是否存在
if(file.getFileSize()==0){
System.out.println("FileNotFoundException had happened");
return mapping.findForward("toIndex");
}
//读取附件信息
stream=file.getInputStream();
}catch(FileNotFoundException e){
System.out.println("FileNotFoundException had happened");
return mapping.findForward("toIndex");
}
//获取项目的绝对路径
String savePath=request.getRealPath("/");
//创建输出流
OutputStream outputStream=new FileOutputStream(savePath+"/file/"+file.getFileName());
int i=-1;
byte[] buffer=new byte[1024];
//保存附件
while((i=stream.read(buffer, 0, 1024))!=-1){
outputStream.write(buffer, 0, i);
}
//关闭输入输出流
outputStream.close();
stream.close();
//附件下载
try{
//读取附件信息
stream=new FileInputStream(savePath+"/file/"+file.getFileName());
}catch(FileNotFoundException e){
System.out.println("FileNotFoundException had happened");
return mapping.findForward("toIndex");
}
//创建输入流
outputStream=response.getOutputStream();
String fileName=file.getFileName();
//设置编码方式
fileName=URLEncoder.encode(fileName,"utf-8");
response.setHeader("Location", fileName);
response.setHeader("Content-Disposition","attachment;filename="+fileName);
response.setContentLength(file.getFileSize());
response.setContentType(file.getContentType());
while((i=stream.read(buffer))!=-1){
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
stream.close();
}
return mapping.findForward("");
}
分享到:
相关推荐
通过研究这些代码,开发者可以学习到实际应用中的Struts2文件上传下载流程。 总之,Struts2文件上传和下载是Web开发中必不可少的功能,涉及的技术点包括表单处理、文件流操作、服务器配置以及错误处理。通过理解和...
Struts是Apache软件基金会(ASF)赞助的一个开源项目,它是一个基于MVC(Model-View-Controller...以上就是Struts中文件上传与下载的基本流程和关键知识点。通过深入理解和实践,可以有效地在实际项目中实现这一功能。
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。
Struts2是一个非常流行的...以上就是Struts2中文件上传与下载的基本实现,通过这些步骤,你可以实现用户在Web应用中上传和下载文件的功能。在实际项目中,还需要根据具体需求进行调整和优化,如错误处理、进度显示等。
通过以上步骤,你可以实现一个基于Struts2和Hibernate的文件上传与动态下载系统。这个系统能够处理用户上传的文件,将其保存到服务器,同时提供动态下载功能,允许用户根据需要下载文件。在实际开发中,还需要考虑...
在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...
通过以上步骤,你可以实现在Struts2框架中处理文件上传和下载的功能。然而,在实际应用中,还需要考虑文件大小限制、文件安全(如防止路径遍历攻击)、文件重命名以及错误处理等问题。理解这些知识点对于开发安全且...
总结起来,使用Struts实现文件上传下载涉及前端表单设计、后端处理逻辑、文件存储策略以及安全控制等多个方面。在实践中,我们还需要考虑到性能优化和用户体验提升,例如使用异步上传、进度条展示等技术。
在这个"struts实现文件上传和下载源代码"项目中,我们将会探讨如何使用Struts框架来实现在Web应用中进行文件的上传和下载功能,同时还会关注对于大文件(超过3MB)的处理策略。 1. **文件上传** 文件上传是Web应用...
在Struts2中,文件上传和下载是常见的需求,尤其对于处理用户交互和数据交换的Web应用来说。本篇文章将全面解析Struts2.0中的文件上传和下载流程。 ### 文件上传 文件上传的核心在于`multipart/form-data`编码类型...
在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...
在Struts1中,文件上传和下载是常见的功能,尤其在处理用户交互和数据交换时非常有用。下面将详细介绍如何使用Struts1实现文件上传和下载,以及涉及到的关键知识点。 **一、文件上传** 1. **表单配置**:在HTML...
Struts框架是Java Web开发中常用的一个开源MVC框架,由Apache软件基金会维护...以上是对Struts框架中文件上传下载功能的详细解析,希望对你理解这一主题有所帮助。如需进一步讨论,可以加入指定的QQ群或通过邮件联系。
在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户通过表单提交的文件,或者允许用户从服务器下载文件。这些功能极大地增强了Web应用的交互性和实用性。 在Struts2中实现文件上传,主要涉及到以下几...
在Struts2中处理文件上传和下载是常见的需求,对于构建交互式的Web应用来说至关重要。以下将详细介绍Struts2中如何实现这两个功能。 一、文件上传 1. 配置依赖:首先,你需要在项目中添加Apache Commons ...
在本"基于Struts的文件上传下载源代码"中,我们可以深入理解Struts如何处理文件上传和下载操作,这对于初学者来说是一个非常实用的学习资源。 首先,文件上传在Web应用中是常见的功能,它允许用户从本地计算机选择...
JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...
在“struts2文件上传下载实例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于许多Web应用程序来说是必不可少的特性。 首先,`pom.xml`文件是Maven项目对象模型的配置文件,它定义了项目的...
在Struts2中,文件上传是常见的功能,用于允许用户在网页上上传文件到服务器。这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件...