昨天试了一下webwork的上传,找了半天上传的目录没找到,翻阅网络文章发现只可以在webwork.properties文件里面配置一个上传的临时目录webwork.multipart.saveDir=d:/aaa。
后来看了robbin的文章才知道,原来webwork上传其实没有真正给你传,只是给你在临时目录生成了一个临时文件,你可以对这个文件进行各种操作:例如把文件内容读取出来,放在数据库blob中;例如拷贝到应用程序定义的某个目录下面等等。据说Action执行完毕后,FileUploadInterceptor会删除临时目录中的上传文件。看别人的xwork里面都配置了fileUpload拦截器,我按照webwork2.2的例子写的也没配这个东西也能正常使用,真是莫明其妙。
另外值得提一下的就是,对于上传的文件名和文件类型的获取,必须按照webwork的命名规范才可以取得。举个例子,假设页面中有个file表单name是fileUpload,那么如果想取得该文件的名称就必须在form中有方法:
public String getFileUploadFileName() {
return fileName;
}
public void setFileUploadFileName(String fileName) {
this.fileName = fileName;
}
同理,取得文件的类型则是:
public String getFileUploadContentType() {
return contentType;
}
public void setFileUploadContentType(String contentType) {
this.contentType = contentType;
}
这个东西折腾了半天才琢磨出来,也没一个文档给介绍一下,网上也找不到相应资料,真是郁闷了好久。