首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么获取下传文件的输入流

2013-01-11 
如何获取上传文件的输入流用io实现文件上传的时候,如何在servlet中获取上传文件的输入流啊?[解决办法]我告

如何获取上传文件的输入流
用io实现文件上传的时候,如何在servlet中获取上传文件的输入流啊?
[解决办法]
我告诉你,什么都不用就可以实现基于WEB上传文件
只要提交表单时候声明支持
<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
File to process: <INPUT NAME="userfile1" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>
然后从HTTP协议的Request中读取即可
[解决办法]
InputStream in = request.getInputStream();
ObjectInputStream ois = new ObjectInputStream(in);
TableBean table=new TableBean();
table=(TableBean)ois.readObject();
这是我的一个列子,是写在servle里面的,我是接受的一个bean,看是否能帮助LZ.
[解决办法]
http://www.iteye.com/topic/66945
用servlet 用fileupload  可以参考 一下这个篇文章
看doPost()那一段 
while(i.hasNext()) {    
19.            FileItem fi = (FileItem)i.next();    
20.            // 获得文件名,这个文件名包括路径:    
21.            String fileName = fi.getName();    
22.            // 在这里可以记录用户和文件信息    
23.            // ...    
24.            // 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:    
25.            fi.write(new File(uploadPath + "a.txt"));    
26.        } 


fi.getInputStream()可以取到 文件流
[解决办法]


/**
 * 检测接受请求内容工具
 */
  public static void observe() {
          String name,pvalue;
          Object avalue;
          Enumeration enum1;
          HttpServletRequest  request=Struts2Util.getRequest();
          System.out.println("/***************** Request Observer (Author: Alex Nie)**************/");
          // observe Request Header
          enum1 = request.getHeaderNames();
          System.out.println("Request Header:");
          while (enum1.hasMoreElements()) {
              name = (String)enum1.nextElement();
              pvalue = request.getHeader(name);
              System.out.println("  " + name + " ---- " + pvalue);
          }


          enum1 = request.getParameterNames();
   
          // observe Request Parameters
          System.out.println("Request Parameters:");
          while (enum1.hasMoreElements()) {
              name = (String)enum1.nextElement();
              pvalue = request.getParameter(name);
              System.out.println("  " + name + " ---- " + pvalue);
          }
          enum1 = request.getAttributeNames();
   
          // observe Request Attributes
          System.out.println("Request Attributes:");
          while (enum1.hasMoreElements()) {
              name = (String)enum1.nextElement();
              avalue = request.getAttribute(name);
              System.out.println("  " + name + " ---- " + avalue);
              
              // observe OgnlValueStack bind by Struts 2
              if (avalue instanceof OgnlValueStack) {
                  avalue = (OgnlValueStack)avalue;
                  Map<String,Object> m = ((OgnlValueStack) avalue).getContext();
                  System.out.println("  >> OgnlValueStack:");
                  Iterator it = m.keySet().iterator();
                  Object key;
                  while (it.hasNext()) {
                      key = it.next();
                      System.out.println ("        " + key + " ---- " + m.get(key));
                  }
              }
          }



给你一段检查接受内容的代码。看FILE类型的数据被放在哪个地方。不过这个是基于struts2,需要自己改一下才可以使用。或者你不用我这段代码。自己在代码里面获取一个request 然后断点查看request里面的内容

热点排行