jsp中的form表单:
<form action="servlet/ServUpload" method="post" enctype="multipart/form-data">
<input type="file" />
<input type = "submit" value="提交" />
</form>在ServUpload这个servlet中, 接受上传的文件, 并保存到指定目录, 如下代码:
DataInputStream in = new DataInputStream(request.getInputStream());
DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("path")));
byte[] bs = new byte[in.available()];
in.read(bs);
in.close();
os.write(bs);
os.flush();
os.close();我的疑问是, 为什么通过这种方式, 保存出去的文件都缺少内容呢(比如:图片无内容. 压缩包损坏. exe提示不是有效的win32程序). 我知道这个问题, 可以使用jspSmart 或者 FileUpload等解决. 但我只是疑问, 为什么request获取的HTTP正文类型, 正文长度都正确, 可是通过输出流输出成文件就是不能用呢?在此先多谢诸位!!
<form action="servlet/ServUpload" method="post" enctype="multipart/form-data">
<input type="file" />
<input type = "submit" value="提交" />
</form>在ServUpload这个servlet中, 接受上传的文件, 并保存到指定目录, 如下代码:
DataInputStream in = new DataInputStream(request.getInputStream());
DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("path")));
byte[] bs = new byte[in.available()];
in.read(bs);
in.close();
os.write(bs);
os.flush();
os.close();我的疑问是, 为什么通过这种方式, 保存出去的文件都缺少内容呢(比如:图片无内容. 压缩包损坏. exe提示不是有效的win32程序). 我知道这个问题, 可以使用jspSmart 或者 FileUpload等解决. 但我只是疑问, 为什么request获取的HTTP正文类型, 正文长度都正确, 可是通过输出流输出成文件就是不能用呢?在此先多谢诸位!!
解决方案 »
- 通用DAO开发框架问题!
- S2SH整合报错Constructor threw exception
- eclipse中js文件中方法提示没有定义,但在另一个工程中却可以找到
- 如何在java的界面上显示我的本机IP
- webwork+spring+hibernate用myeclipse如何搭建!急,谢谢了!
- spring事务方法中进行数据库插入操作,插入数据同时会返回该对象ID为null
- 各位老手进来给新手指指路,你们的成功让大家来分想(进者有分送)!!!!!!
- 请各位前辈推荐几位java人才,thanks
- 远程客户如果一直维持引用,有状态的会话bean在怎样的情况下会超时(或被回收)?
- 请问那里有sql server jdbc driver?
- 请大家看看我的servlet 连接mysql 的问题
- 帮忙看个错
while ((len = in.read(bs)) != -1) {
os.write(bs, 0, len);
os.flush();
}