我在页面这样写 html:file name="myfile" value="浏览"
在Action中这样获取:FormFile formfile = (FormFile)request.getAttribute("myfile")
为什么我每次得到的formfile都是null啊?
request.getAttribute 读的是文件表单的参数。取不出文件流的。
如果要从request 中取出一个文件流的话。
用request.getInputStream();
该方法获得请求的所有数据流。
建议解决的方法 :http://www.zhuoda.org/lunzi/61752.html
那当然了,上传的数据是不能用request.getAttribute的方式得到的,
因为文件是以二进制流的方式上传到服务器的,
不是简单的字符串
是不是没设置form的enctype为"multipart/form-data"
写个ActionForm
[code="java"]
public class UploadForm extends ActionForm {
private FormFile myfile;
// ... 其他的字段省略
public FormFile getMyfile() {
return myfile;
}
public void setMyfile(FormFile myfile) {
this.myfile= myfile;
}
}
[/code]
在Action中用如下方法得FormFile
[code="java"]
UploadForm upLoad = (UploadForm ) form;
FormFile formFile = upLoad.getMyfile();
[/code]
这个有很多,可以看下o'reilly的或者apache里的
具体可以参考
[url]http://www.blogjava.net/WshmAndLily/articles/133866.html[/url]
可以定义个form
public class FileAttachmentFormBean extends ActionForm
{
private FormFile fileAttachment;
有个FormFile类的属性用来记录页面传递过来的上传文件;
action中:
FormFile file=formBean.getFileAttachment();
request.getAttribute肯定不对咯。。