版本:webwork2.2.5
配置:
1.webwork.properties的配置:
webwork.i18n.encoding=GBK
webwork.multipart.parser=jakarta
webwork.multipart.saveDir=d:/temp
2.xwork.xml的配置:
<package name="default" extends="webwork-default">
<interceptors>
<interceptor name="upload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/>
<interceptor-stack name="vxStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
<interceptor-ref name="upload"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<global-results>
<result name="exception" type="dispatcher">/error.jsp</result>
<result name="resetPassword" type="dispatcher">/resetPassword.jsp</result>
</global-results>
</package>
3.config.properties的配置:
#windows
saveDir=d:/upload/
4.uploadFile.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>webwork上传单个文件</title>
</head>
<body>
<form name="form1" method="post" enctype="multipart/form-data" action="member/upload.do">
<input type="file" name="file"><input type="submit" value="上传">
</form>
</body>
</html>
5.uploadAction.java
package com.luodada.trans.soa.busi.web;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;
import com.opensymphony.xwork.ActionSupport;
public class UploadAction extends ActionSupport {
private String fileFileName;
private File file;
public String uploadFile() {
upload();
return "succ";
}
// 上传文件
private void upload() {
if(file!=null) {
FileOutputStream outputStream;
try{
ResourceBundle rb = ResourceBundle.getBundle("config");
String fileDir = rb.getString("saveDir") + File.separator;
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String time = df.format(date);
fileFileName = time + "_" + fileFileName;
String filePath = fileDir + fileFileName;
try {
// 创建目录
File f = new File(fileDir);
f.mkdirs();
} catch (Exception ex) {
ex.printStackTrace();
}
outputStream = new FileOutputStream(filePath);
FileInputStream fileIn = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fileIn.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
fileIn.close();
outputStream.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println("uploadfile name="+fileFileName);
} else {
System.out.println("file is null!");
}
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileName) {
this.fileFileName = fileName;
}
}
6.xwork-config.xml的配置
<!-- 上传文件 -->
<action name="upload" class="uploadAction" method="uploadFile">
<interceptor-ref name="fileUpload" />
<interceptor-ref name="defaultStack" />
<result name="succ">/upload/uploadFileSucc.jsp</result>
</action>
注意事项:
1.<form>表单中要加上属性 enctype="multipart/form-data"
2.xwork-config.xml中要配置<interceptor-ref name="fileUpload" />和<interceptor-ref name="defaultStack" />
3.xwork-config.xml中要添加method="**"的属性
4.webwork上传文件只是暂时存放在一个文件夹等待action里处理,处理完毕就会删除临时文件,所以在action里一定要自行对文件进行处理,不能指望它自动保存,因此在 upload()函数里保存了一次。
5.webwork.multipart.parser是设置处理上传的类的,有jakarta、cos、pell 三种设置, jakarta是默认的设置;注意设置了相应的类要把相应的jar放进来(jakarta支持多文件上传,cos和pell不支持);
分享到:
相关推荐
webwork中上传文件,webwork文件上传.doc
项目里需要实现webwork 上传与下载文件操作, 自己摸索过程中出现了很多问题,一一解决, 记录下来本准备做参考,现贡献给大家, 记得有点乱,耐心看完,一定会有帮助的。
WebWork 文件上传 多个文件上传 范例
这个是我查看了大量的网上文档后,利用webwork的上传机制写的一个上传到例子。因为网上很多都转来转去的文档。能不能不运行,还不一定。改起来很费时,所以我把我写的上传上去。力争做到用最少的代码和简单配置来...
webwork上传文件pdf文件说明文档
webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档
简单的使用webwork框架实现了文件上传的功能 主要是针对EXCEL文件
webwork上传下载webwork上传下载webwork上传下载webwork上传下载webwork上传下载webwork上传下载webwork上传下载webwork上传下载
使用webwork上传excel并导入数据库,上传时只能上传excel文件,数据库为mysql,可以根据需要自行修改。 数据库的配置也请自行修改。
我自己写的。上次的只有上传没有下载。这次的添加了下载的功能。我自己备份用的。有需要可以参考。保证能够运行
webwork_框架文档
webwork2.0 webwork2.0 帮助文档webwork2.0 webwork2.0 帮助文档webwork2.0 webwork2.0 帮助文档
webwork2中文文档,是一个比较的中文文档
WebWork上传下载功能小记.pdf
webwork2官方文档中文版,pdf格式
webWork 详细的说明文档, 由于我的上传大小有限, 这个好东西我只能是分两次上传了, 下载的人可能要辛苦一些了, 不过这些都是值得的, 将<<WebWork docs 2 -- webWork 详细的说明文档>> 也一同下载下来, 下载后两个...
webwork中文文档
WebWork完全自学!
webwork核心技术文档,原理,希望对你有用!
与下载的<<WebWork docs -- webWork 详细的说明文档>> 的文件夹合并. 这里包括了所有webWork的所有的详细说明文档, 任何有关的问题都可以在这里找到答案.