private File upload;// 实际上传文件
这里每次用ajax上传的时候 setUpload方法会报错。
是不是struts2的拦截器导致的?错误信息:
ognl.MethodFailedException: Method "setUpload" failed for object action.upload@b9b618 [java.lang.NoSuchMethodException: action.upload.setUpload([Ljava.lang.String;)]
                                             谢谢。

解决方案 »

  1.   

    action.upload.setUpload([Ljava.lang.String;)]      类型错了  private File upload;  一个string  一个file
      

  2.   

    ajax的请求中的HTTP报文内容中全部都是传递字符,现在的ajax还不支持传递流式数据,因为目前的浏览器没有实现PUT方法的传递,现在的异步上传暂时无法实现.
      

  3.   

    问一下三楼。那java上传怎么处理字符呢?
      

  4.   

    如果你指的WEB中,HTML的FILE元素传递的数据,字符只能取到文件名,而取不到文件体,这是浏览器的问题,我们无从解决。如果是JAVA传递给JAVA,那需要你对HTTP报文进行构造和解析,一般情况下HTTP协议可以传递流式数据。
      

  5.   

    如果你要解决异步上传,你能使用IFRAM元素模拟一个异步上传,但一般只能IE下使用,因为W3C组织已经不推荐IFRAM元素的使用了。
      

  6.   

    呵呵。谢谢楼主咯。我已经解决了。具体方法是在配置web.xml的时候。设置过滤器的时候设置成*.action  然后上传用servlet做的。可以实现。呵呵。谢谢。
      

  7.   

    因为我action全部用 action后缀提交所以不影响。