java吧 关注:1,248,222贴子:12,730,215
  • 1回复贴,共1

servlet 文件接收问题

只看楼主收藏回复

在使用 文件上传过程中发现request.getInputStream() 返回的输入流中怎样去掉request请求信息? 
这是html表单
<form action="up.do" id="form1" name="form1" encType="multipart/form-data" method="post">   
    <input type="file" id="file" name="file" style="width:450">   
    <input type="submit" value="上传文件">   
</form>
这里是servlet 
request.setCharacterEncoding("UTF-8");   
      File nf = new File(this.getServletContext().getRealPath("/image/") + "\\" + CountTime.currentTime() + ".jpg");//原本准备上传图片并以当前时间为文件名   
      if (!nf.exists()) {   
          nf.createNewFile();   
      }   
      BufferedOutputStream bof = new BufferedOutputStream(new FileOutputStream(nf));   
      ServletInputStream up = request.getInputStream();//获取ServletInputStream   
  
      try {   
          int i = up.read();   
          while (i != -1) {   
              bof.write(i);   
              i = up.read();   
          }   
          bof.close();   
      } catch (Exception e) {   
          bof.close();   
          nf.delete();//上传失败的删掉改文件   
          nf = null;   
      } finally {   
  
          response.setContentType("text/xml;charset=UTF-8");   
          response.setHeader("Cache-Control", "no-Cache");   



IP属地:四川1楼2009-08-10 16:19回复
              PrintWriter out = response.getWriter();   
              try {   
                  out.println("<response>");   
                  if (nf != null) {   
                      out.println("<filename>" + nf.getName() + "</filename>");   
                  } else {   
                out.println("<filename>NO</filename>");   
                  }   
                  out.println("</response>");   
              }   
              finally {   
                  out.close();   
              }   
          }   
      }  
    部分代码省略精简 
    然后用文本文件测试 发现 文件中多出许多信息 
    -----------------------------31673223865021  
    Content-Disposition: form-data; name="file"; filename="新建文本文档.txt"  
    Content-Type: text/plain   
      
    这是文本测试文件的文本内容。   
    -----------------------------31673223865021--  
    想知道如何去掉多余信息 
    


    IP属地:四川2楼2009-08-10 16:19
    回复