我使用http://commons.apache.org/proper/commons-fileupload/来解析多部分表单并提取上传的文件。我正在关注本手册http://www.oreillynet.com/onjava/blog/2006/06/parsing_formdata_multiparts.html以及该软件包中的新文档。 request.getContentLength()表示700K,即代码
InputStream input = request.getInputStream();
MultipartStream mStream = new MultipartStream(input, boundArray, 94096 /*random number*/, null);
boolean part = mStream.skipPreamble();
该部分始终 false 。谁能告诉我为什么? 谢谢!
答案 0 :(得分:0)
关于MultipartStream.java的代码,你在discardBodyData或readBoundary中得到MalformedStreamException。
看起来discardBodyData只声明,bun永远不会抛出MalformedStreamException。
readBoundary抛出MalformedStreamException(“意外字符跟随边界”)和MalformedStreamException(“Stream意外结束”)。
评论说:
* @throws MalformedStreamException if the stream ends unexpectedly or
* fails to follow required syntax
假设: 94096 / 随机数 / 应该是缓冲区大小。 对于700K,94096是不够的,因此对于MultipartStream流意外结束。