请问如何处理掉request.getInputStream()中的头信息呢?

lhdjk 2009-08-21 03:06:24
我的JSP页面,接收一个request.getInputStream()信息,并以图片存到服务器,但是接收后,图片不能显示

这是在下的jsp页:
<%@ page contentType="text/html; charset=utf-8" language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%
int v;
String dir="//c:/goodsphoto/";
String filePath=dir+"/"+"aaa.jpg";
InputStream inputStream = request.getInputStream();
OutputStream outputStream = new FileOutputStream(new File(filePath));
byte [] bytes = new byte[4096];
while((v=inputStream.read(bytes))>0)
{
outputStream.write(bytes,0,v);
}
outputStream.close();
inputStream.close();
%>

请问应该如何写代码来去除掉这些头信息呢?谢谢
...全文
362 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我前面也说了,要解析上传文件来的流,必须先弄明白 HTTP 协议,诸如每一个 File 是用:

------------ae0Ef1cH2KM7GI3Ij5Ef1Ij5cH2ae0 隔开的

等等之类的,如果是二进制文件流中读到的是什么,文本文件流中读到的是什么,以及包括在其
中的一些附加信息具体是什么意思都必须了如指掌,否则根本不可能写出来的!
  • 打赏
  • 举报
回复
对不起,没例子,从来不会去重复制造轮子,有 Apache Commons FileUpload 那么好用的上传组件,
我为什么还要自己再写?
  • 打赏
  • 举报
回复
就是把那些看成是字符串,从字符串中去掉这些难道你不会么?
lhdjk 2009-08-22
  • 打赏
  • 举报
回复
如何解析,给个例子吧,在下能力精力都有限,帮帮忙了
  • 打赏
  • 举报
回复
了解 HTTP 协议,自己通过字符串解析处理掉。
lhdjk 2009-08-21
  • 打赏
  • 举报
回复
我想我无法从apache上去找上传文件的包,因为我前台使用的是flex传递图片到jsp
就jsp自己而言,可以有办法从流中删除这个头部吗?
flyforlove 2009-08-21
  • 打赏
  • 举报
回复
你没有把文件的流从http流里分离出来,自己写剥离程序太麻烦了,去apache网站找文件上传的包。
lhdjk 2009-08-21
  • 打赏
  • 举报
回复
我用记事本打开两个图片,作了比较,发送前的图片是没有头信息的
发送成功后,在服务器目录中再打开图片,多出了:
------------ae0Ef1cH2KM7GI3Ij5Ef1Ij5cH2ae0
Content-Disposition: form-data; name="Filename"

we.JPG
------------ae0Ef1cH2KM7GI3Ij5Ef1Ij5cH2ae0
Content-Disposition: form-data; name="Filedata"; filename="we.JPG"
Content-Type: application/octet-stream
flyforlove 2009-08-21
  • 打赏
  • 举报
回复
和头信息没关系。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧