尝试将InputStream
转换为字节数组以了解正在上载的文件的大小。我能够获得大小,但InputStream.read()
变为-1。如何在将文件写入服务器之前检查文件大小?
我当前的代码为我提供了尺寸,但InputStream
到达终点。
private static byte[] readFully(InputStream input) throws IOException
{
byte[] buffer = new byte[8192];
int bytesRead;
byte []bytes=null;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = input.read(buffer)) != -1)
{
System.out.println("Buffer is "+input.read(buffer));
output.write(buffer, 0, bytesRead);
}
bytes=output.toByteArray();
output.close();
return bytes;
}
答案 0 :(得分:0)
如果您使用Java实现Web服务器,请查看以下链接:
http://www.prasannatech.net/2008/11/http-web-server-java-post-file-upload.html
在找到边界之前,你必须尝试阅读这些信息。
您现在不能使用read()方法,因为InputStream可能尚未准备好进行读取。