当前位置: 技术问答>java相关
上传文件时,如何在读取文件内容之前中断读取,并返回客户端错误信息?
来源: 互联网 发布时间:2015-04-30
本文导语: 实现上传文件,要解析request.getInputStream() 我希望在读取数据之前,判断上传的文件的大小,如果太大则返回错误信息,所以在servlet的doPost方法最前面加了对request.getContentLength()的判断,但是在调用request.getContentLeng...
实现上传文件,要解析request.getInputStream()
我希望在读取数据之前,判断上传的文件的大小,如果太大则返回错误信息,所以在servlet的doPost方法最前面加了对request.getContentLength()的判断,但是在调用request.getContentLength()方法之后,就无法通过response传给客户端错误信息了,客户端老是报“找不到服务器或发生 DNS 错误“,必须等request.getInputStream()全部读取完毕之后才能使用response输出。我想这可能是客户端发送的数据被非法中断了。我希望既能中断客户端的数据传送,还能往客户端发送错误信息。
不知道该如何处理?
我希望在读取数据之前,判断上传的文件的大小,如果太大则返回错误信息,所以在servlet的doPost方法最前面加了对request.getContentLength()的判断,但是在调用request.getContentLength()方法之后,就无法通过response传给客户端错误信息了,客户端老是报“找不到服务器或发生 DNS 错误“,必须等request.getInputStream()全部读取完毕之后才能使用response输出。我想这可能是客户端发送的数据被非法中断了。我希望既能中断客户端的数据传送,还能往客户端发送错误信息。
不知道该如何处理?
|
你可以:
request.getInputStream().skip(request.getContentLength());
然后再继续打印出错信息,否则好像的确是不能够正常工作的
request.getInputStream().skip(request.getContentLength());
然后再继续打印出错信息,否则好像的确是不能够正常工作的
|
"调用request.getContentLength()方法之后,就无法通过response传给客户端错误信息"?不会吧
其实你也可以判断后重定向到一个错误页面提示客户的
参考:
http://www-900.ibm.com/developerWorks/java/fileup/index.shtml
其实你也可以判断后重定向到一个错误页面提示客户的
参考:
http://www-900.ibm.com/developerWorks/java/fileup/index.shtml
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。