既然传输的是流。。就该这样。
<html:form action="upload.do" method="post" enctype="multipart/form-data">
选择文件:<html:file property="picture" />
<html:submit>上传</html:submit>
</html:form>关键是加上“ enctype="multipart/form-data">”

解决方案 »

  1.   

    哦,忘了说了,我的前台页面的确是传的enctype="multipart/form-data",只是不是用的struts的html标签,是一般的<form action....> html,这无关紧要吧。但是在action类里得到的InputStream一直是空的,不懂了!
      

  2.   

    这个比较关键,有些标签必须放在<html:form> </html:form>中才能编译通过。。
    你试试。
      

  3.   

    我在页面并没有用struts的标签,这不行吗?用了标签的页面在显示后也是一样的html代码,并没有什么特别的阿。
      

  4.   

    <html:form action="yourAction" enctype="multipart/form-data">
    用FormFile类传递数据。
      

  5.   

    後來可以了,解決的辦法是把struts-config.xml中action對應的name=formbean去掉,我的初衷也是不要struts提供的formbean而使用原來系統提供的一個formbean來得到葉面參數,以減少二次開發,這樣去掉formbean的支持後,action類里就能獲得InputStream了,難道actionForm會截取request的流?
      

  6.   

    action类会对request的输入截取,并传给配置文件中的formbean然后调用resetToken(HttpServletRequest request)清空request参看action类的resetToken方法及TokenProcesser类的resetToken方法