webwork上传

本来上传出现了奇怪的很多的错误,但现在都已正常,
开发包版本一定要一致,目前用的是webwork2.2.2版本的,
它里面自带了很多的开发包,用它的就可以了,不需要去到处下

写完后调试的过程中,老报错:java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream,后来一查才知道少了commons-io-1.2.jar,加上后,就ok了


File cover; //前面的控件是什么名字,这里就对应什么名称
String coverContentType;
String coverFileName;


picName = upload.uploadFile(cover,coverFileName,"upload");
//upload为你要上传的目录

upload的文件已经写好了.直接调用就可以了.


一、软件环境
1。webwork2.1.7
2。apache common fileupload1.0

二、编写input.jsp
<html>
<head><title>File Upload</title>
</head>
<body>

<form action="fileUpload.action" enctype="multipart/form-data" method="POST">
<p> <input type="text" name="fileFileName"/> <input type="file" name="file"/><br>
<p> <input type="text" name="hello"/> <input type="file" name="files"/><br>
<p> <input type="text" name="hello"/> <input type="file" name="files"/><br>
<p> <input type="text" name="hello"/> <input type="file" name="files"/><br>
<p> <input type="submit" name="上载"/>
</form>
</body>
</html>

三、编写action
import java.io.*;
import java.util.*;

import com.opensymphony.xwork.*;

public class FileUploadAction implements Action {
File file;
String fileContentType;
String fileFileName;
File[] files;
String[] filesContentType;
String[] filesFileName;
private boolean debug=true;

public String execute() throws Exception {
ActionContext context=ActionContext.getContext();
Map map=context.getParameters();
context.getValueStack();
if(filesFileName!=null)
{
for (int i = 0; i < filesFileName.length; i++) {
String srcName = filesFileName[i];
File target = new File(srcName);
if (target.exists()) {
target.delete();
}
files[i].renameTo(target);
}
}

return SUCCESS;
}

public String doDefault() throws Exception {
return INPUT;
}

public void setFile(File file) {
this.file = file;
}

public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}

public void setFiles(File[] files) {
this.files = files;
if(files==null)
{
return ;
}
if(debug)
{
for (int i = 0; i < files.length; i++) {
System.out.println(files[i].getName()) ;
}
}
}

public void setFilesContentType(String[] filesContentType) {
this.filesContentType = filesContentType;
}

public void setFilesFileName(String[] filesFileName) {
this.filesFileName = filesFileName;
}

public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}

public void setDebug(boolean debug) {
this.debug = debug;
}

三、配置xwork.xml
<package name="fileUpload" extends="webwork-default" namespace="/fileUpload">
<interceptors>
<interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
<param name="allowedTypes">image/jpeg/jpg/bmp/txt</param>
<param name="maximumSize">10000000</param>
</interceptor>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="fileUploadStack"/>
<action name="fileUpload" class="org.bluebird.web.file.action.FileUploadAction">
<result name="success">success.jsp</result>
<result name="input">input.jsp</result>
</action>
</package>

四、修改webwork.properties

# various values
webwork.multipart.parser=jakarta
webwork.multipart.saveDir=/tmp
webwork.multipart.maxSize=10000000

五、总结
webwork支持common fileupload, pell,cos三种方式的文件上载,common对多文件上载支持的比较好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值