public ActionForward upload (ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response) {
FileForm fileForm = (FileForm) actionForm;
int count = UploadAndDown.uploadFile(fileForm);
if (count > 0) {
this.save(request);
return mapping.findForward("sucess");
} else {
return mapping.getInputForward();
}
}
//将可供下载的文件名列表储存在请求中,在页面中显示出来
private void save(HttpServletRequest request) {
try {
Vector v = DataBaseDAO.query();
request.getSession().setAttribute("filename",v);
} catch (Exception e) {
e.printStackTrace();
}
}
public ActionForward down(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response) {
try {
FileForm fileForm = (FileForm) actionForm;
InputStream file = UploadAndDown.down(fileForm.getName());
byte[] bit = new byte[1024];
int len = file.read(bit);
ServletOutputStream out = response.getOutputStream();
// 添加此句为下载文件,否则将文件流发送到页面<img src="actionPatch"/>中,在页面将图片显示出来
// response.addHeader("Content-Disposition","attachment;filename=" + "tt.jpg");
while (len != -1) {
out.write(bit,0,len);
len = file.read(bit);
}
out.close();
file.close();
return mapping.findForward("show");
// return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static int uploadFile(FileForm fileForm) {
try {
int count = DataBaseDAO.insert(fileForm);
return count;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
public static InputStream down(String name) {
try {
// Vector v = DataBaseDAO.getFile(name);
//FileInputStream input = (FileInputStream)v.get(0);
InputStream input = new FileInputStream("F:\\picture\\13-02-07_1455.jpg");
return input;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
分享到:
相关推荐
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。
JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...
Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括处理用户表单提交、进行文件上传和下载。在Web应用中,文件上传和下载是常见的需求,例如用户上传头像、下载文档等。Struts2通过其Action类和...
在Struts2中,文件上传和下载是常见的功能需求,它们对于用户交互性至关重要,例如用户提交表单时上传图片或文档,或者系统提供文件资源下载服务。本篇文章将深入探讨Struts2中的文件上传和下载机制。 首先,我们来...
下面将详细探讨Struts中文件上传和下载的实现机制。 一、文件上传 1. 配置文件:在Struts2中,我们需要在struts.xml配置文件中定义一个Action类,用于处理文件上传请求。例如: ```xml ...
在这个“Struts框架文件上传下载案例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于Web应用来说是非常常见的需求。 文件上传功能是Web应用中允许用户从本地计算机选择文件并将其传输到...
在文件上传场景中,Struts2主要负责接收前端发送的文件数据,并将这些数据存储到服务器的指定位置。配置Struts2的Action类和相应的XML配置文件,可以定义文件上传的处理逻辑。 接着,jQuery是一个高效、简洁的...
在Struts2中,文件上传和下载是常见的需求,尤其对于处理用户交互和数据交换的Web应用来说。本篇文章将全面解析Struts2.0中的文件上传和下载流程。 ### 文件上传 文件上传的核心在于`multipart/form-data`编码类型...
在Struts框架中,文件上传和下载是常见的功能需求,尤其是在处理用户提交的表单数据时。本案例将重点讲解如何在Struts中实现文件的上传与下载,并支持多文件上传。 一、文件上传 1. 配置Struts.xml 首先,我们需要...
总的来说,Struts2通过内置的拦截器和便捷的API,使得文件上传下载变得简单而高效。尽管本项目没有使用异步(AJAX)方式,但在实际应用中,结合AJAX进行无刷新的文件上传和下载也是常见的优化手段,可以提升用户体验...
实现文件上传和下载时,需要注意安全性问题,比如防止恶意文件上传、检查文件类型、限制文件大小等。此外,优化方面可以考虑使用临时文件、异步处理大文件上传,以及使用缓存来提高文件下载速度。 通过以上步骤,...
Struts2 文件上传是Web开发中的一个重要功能,它允许用户通过网页上传文件到服务器。Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,提供了丰富的特性和强大的控制层功能,使得文件上传...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
Struts2框架是Java Web开发中的一个流行MVC(Model-View-Controller)框架,它提供了丰富的功能,包括处理表单提交、文件上传等。在Struts2中,文件上传是一个常见的需求,可以帮助用户从客户端上传文件到服务器。...
在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解Struts2中的Action类,它是处理用户请求的核心组件。为了支持文件上传,我们需要创建一个继承自`org....
首先,你需要在Struts2配置文件(通常为struts.xml)中启用文件上传支持,这通常意味着添加`<constant name="struts.multipart.parser" value="jakarta"/>`配置,以确保框架能够解析multipart/form-data类型的请求,...
在本篇中,我们将聚焦于Struts2中的文件上传、下载和删除功能,这些是Web应用中常见的需求。 1. 文件上传: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它处理了多部分表单数据。首先,你需要在`...
Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX(Asynchronous JavaScript and XML)的优势,提供了一种用户友好的、无刷新的文件上传方式。这种方式可以显著提升...
在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...
Struts2 文件上传和下载是Web开发中常见的情景,主要涉及到HTML表单、HTTP请求、文件处理以及服务器端的响应。以下将详细介绍Struts2框架下如何进行文件的上传和下载。 首先,理解文件上传的基本原理至关重要。当在...