文件上载 ServletInputStream/BufferedReader 的问题

dunkee 2002-07-09 12:41:41
问题:
我想写自己的文件上传class,再取得request的ServletInputStream
或BufferedReader后,只能用一次。也就是我一路readLine()下去后,
就不能在回到开始位置了。
用reset()和mark组合能行吗?
这两个method到底怎么用?我试了半天,没弄明白,请指点指点。谢谢

间略代码如下:
public String save (HttpServletRequest request) throws IOException {
BufferedReader br = request.getReader();
String err = validate(br) ;
if ("".equals(err)) //如果验证返回错误串为"",返回错误;
{
return err ;
}else{ //否则上传文件
return doSave(br) ;
}

}

//上传文件
public String doSave(BufferedReader br) throws IOException {
//reset(); //用报错,不用br已经到尾,line为null
String line = br.readLine();
return line ; //
}
//验证表单/request是否符合要求,如文件类型、大小等
public String validate(BufferedReader br) throws IOException {
String all="" ;
//读完
while(br.readLine()!=null){
all += br.readLine();
}
return all ;
}

谢谢
...全文
110 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dunkee 2002-07-11
再顶
回复
salute 2002-07-10
有可能会有这样的问题,我想可能是和request.getReader有关,最好得到全部内容的对象。
实在不行你就把它转成byte[]再处理
回复
dunkee 2002-07-10
plz!
回复
dunkee 2002-07-10
somebody , anybody !
回复
dunkee 2002-07-09
up
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告