上传.jsp 部分代码
<td >上传文件路径:</td>
<td >
<s:file name="[color=brown]file[/color]" id="Jiafile"/>
</td>
// 简单判断上传路径是否有效 form的name=“forms”
function sub(){
var filespec = document.forms[0].file.value;
var patrn=/^[C|D|E|F]:\\.+$/;
if (!patrn.exec(filespec)){
alert( "上传路径不正确!");
return ;
} else{
document.forms[0].action="upload.action";
document.forms[0].submit();
}
}
uploadAction.java
private java.io.File file; //file与jsp中file的name相同
private String fileFileName; // file的属性 上传文件的名字
private String path="/upload"; // WebRoot下文件夹upload
public String upload() {
//上传到文件夹中的名字 防止文件名重复 覆盖
String xname=UUID.randomUUID().toString()+fileFileName.substring( fileFileName.lastIndexOf("."));
//数据存库
.....
//上传到相应的文件夹
this.send(file, xname );
return SUCCESS;
}
/**
* name 上传到文件夹中的 附件的名称
*/
public void send( File file , String name) throws Exception {
//以服务器的文件保存地址和原文件名建立上传文件输出流
FileOutputStream fos = new FileOutputStream(
ServletActionContext.getServletContext().getRealPath(path) + "\\" + name);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0)
{
fos.write(buffer , 0 , len);
}
fos.close();
fis.close();
}
下载
private String inputPath ;
private String filename;
private String id ;
public InputStream getInputStream() throws Exception {
return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}
public String downloadFile() throws IOException {
FileManager service = new FileManager(this.getLoginId());
cn.com.harbor.oa.file.entity.File oaFile = service.getFileById(id);
oaFile.setNumOfDownload(oaFile.getNumOfDownload() + 1);
service.update(oaFile);
inputPath="/user/file/upload/"+oaFile.getXname();//要下载的文件名称
this.filename= new String( oaFile.getName().getBytes("GBK"),"ISO8859-1"); //保存文件时的名称
HttpServletResponse response = ServletActionContext.getResponse();
return null;
}
<action name="downloadFile" class="cn.com.harbor.oa.file.FileUploadAction" method="downloadFile">
<result name="success" type="stream">
<!-- param name="contentType">${contentType}</param-->
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
<param name="contentDisposition">attachment;filename="${filename}"</param>
<param name="">/user/file/fileUpload.jsp</param>
</result>
</action>
//删除
/**
* 删除文件夹内容
*/
public boolean delPic( String xname )
{
File file = new File(ServletActionContext.getServletContext().getRealPath(path)+"/"+xname);
if(!file.exists()) {
return false;
} else {
if(file.exists() && file.isFile()) return file.delete();
else return false;
}
}
//下载取消报错
<constant name="struts.multipart.maxSize" value="9000000"/>
分享到:
相关推荐
在"struts2上传下载项目"中,我们可以深入理解如何利用Struts2实现文件的上传与下载功能。 首先,上传功能在Web应用中十分常见,比如用户在注册时上传头像,或者提交文档等。在Struts2中,我们主要借助`struts2-...
### Struts2上传下载功能详解 #### 一、引言 在Web开发中,文件上传下载是一项常见的需求,尤其在用户交互频繁的应用场景中。Struts2作为一款成熟且广泛使用的MVC框架,提供了简洁而强大的文件上传下载功能。本文...
Struts2上传下载,可以更方便的让大家学习、使用
这篇博客文章“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上传下载组件”就是为了满足这种需求而设计的。让我们深入探讨一下这个组件的工作原理以及如何在实际项目中使用它。 ...
Struts2作为一款流行的Java Web框架,为开发者提供了丰富的功能,其中包括文件上传和下载的处理。在Struts2中,实现文件上传下载是一项常见的任务,它涉及到HTTP协议、MIME类型、临时文件处理以及流的读写等多个方面...