页面
<form action="" method="" name="" enctype="multipart/form-data" >
<input type="file" name="file"/>
</form>
配置文件
<action name="addFile" class="类地址" method="对应方法">
<param name="savePath">/imageUpload/file</param>
<result name="success" type="redirect-action">
fileList.action
</result>
</action>
action
属性 起个名字叫file struts2中您需要些3个属性 file fileContentType fileFileName
private File file;//文件
private String fileContentType;//
private String fileFileName;
private String savePath;//保存路径
//**********setter and getter**********//
public String addFile(){
String paths=ServletActionContext.getServletContext().getRealPath(savePath);
File saveDirectory=new File(paths);
if(!saveDirectory.exists()){//检查文件夹是否存在 不存在则创建
saveDirectory.mkdirs();
}
String names=fileFileName.substring(fileFileName.indexOf("."));//截取字符串
DateFormat df=new SimpleDateFormat("yyMMddHHmmss");//格式化日期
String saveName=df.format(new Date())+names;
saveFile(new File(paths+"/"+saveName));
}
//上传文件
public void saveFile(File outputFile){
try {
FileOutputStream fos=new FileOutputStream(outputFile);
BufferedOutputStream bos=new BufferedOutputStream(fos);
FileInputStream fis=new FileInputStream(this.file);
BufferedInputStream bis=new BufferedInputStream(fis);
byte[] buffer=new byte[1024];
int length=-1;
while((length=fis.read(buffer))!=-1){
bos.write(buffer,0,length);
}
bos.close();
fos.close();
bis.close();
fis.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
}
//下载方法 三个参数 response丢想 路径filePath 文件名filename
public void httpStream(HttpServletResponse response,String filePath,String filename)throws Exception
{
FileInputStream fileInputStream=new FileInputStream(filePath);
BufferedInputStream br=new BufferedInputStream(fileInputStream);
byte[] buf=new byte[1024];
int len=0;
response.reset();
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition","attachment:filename="+URLEncoder.encode(filename,"utf-8"));
OutputStream out=response.getOutputStream();
while((len=br.read(buf))>0)
out.write(buf,0,len);
br.close();
out.close();
fileInputStream.close();
}
从网上摘的代码,记录下来,万一以后忘了就不好了
分享到:
相关推荐
在"struts2上传下载项目"中,我们可以深入理解如何利用Struts2实现文件的上传与下载功能。 首先,上传功能在Web应用中十分常见,比如用户在注册时上传头像,或者提交文档等。在Struts2中,我们主要借助`struts2-...
### Struts2上传下载功能详解 #### 一、引言 在Web开发中,文件上传下载是一项常见的需求,尤其在用户交互频繁的应用场景中。Struts2作为一款成熟且广泛使用的MVC框架,提供了简洁而强大的文件上传下载功能。本文...
Struts2上传下载,可以更方便的让大家学习、使用
在"struts2 上传下载"这个主题中,我们主要关注的是如何在Struts2框架下实现文件上传和下载的功能。这一知识点对于任何需要处理用户提交文件的Web应用程序都至关重要。 首先,我们需要了解Struts2的Action类,它是...
这篇博客文章“Struts2 上传下载模板”可能提供了关于如何在Struts2框架中实现这一功能的详细教程。 首先,我们来讨论文件上传。在Struts2中,文件上传通常依赖于`Apache Commons FileUpload`库,它处理了文件的多...
在"struts2上传下载+前端剪切图片"这个主题中,我们将探讨Struts2框架如何处理文件上传和下载功能,以及如何在前端实现图片的剪切操作。 **文件上传**: 在Struts2中,文件上传主要依赖于Apache的Commons ...
在这个“Struts2 上传下载项目”中,我们将深入探讨如何利用Struts2实现文件上传与下载功能,并结合MySQL数据库、DAO(数据访问对象)层以及MVC架构来构建一个完整的应用。 1. **Struts2框架基础** Struts2的核心...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
在Struts2中,实现文件上传和下载功能是常见的需求,这对于用户交互和数据交换至关重要。本文档将深入讲解Struts2中如何进行文件上传和下载的代码实现及其流程。 首先,我们需要理解Struts2文件上传的核心组件:`...
在Struts2框架中,处理文件上传和下载功能是必不可少的一部分,尤其是在用户需要交互式地提交或获取文件的场景下。在这个“struts2 上传下载组建Jar”中,主要包括了两个关键的第三方库:`commons-io-1.4.jar`和`...
在Struts2中,文件上传和下载是常见的功能需求,尤其对于处理用户提交的表单数据时,如上传图片、文档等。这个"struts2_上传下载"实例则涵盖了多种实现这些功能的方法。 首先,Struts2的文件上传依赖于Apache的...
在Struts2中,上传和下载功能是常见的需求,特别是在处理用户交互和数据交换时。这个“Struts2上传下载组件”就是为了满足这种需求而设计的。让我们深入探讨一下这个组件的工作原理以及如何在实际项目中使用它。 ...