各位大侠有知道麻烦帮帮忙,问题是这样的:
       我用jspSmartUppload做上传文件,如果是在jsp页面进行处理上传的话就没有任何的问题,但是我需要在类中写方法来上传,代码和页面的一样的,结果就是上传不了,整个都被挂起了。有人遇到这样的问题麻烦帮忙解决下,急用!
       先行道谢!
       类中的代码如下:         mySmart.initialize(pageContext); mySmart.setTotalMaxFileSize(1000000); mySmart.setAllowedFilesList("htm,html,txt,bmp,gif,mp3,jsp,jpg,"); // 上传文件到服务器
mySmart.upload();  我运行断点的时候发现是在这里被卡住了的,过不去 // 对上传到服务器的文件进行逐个处理
for(int i = 0; i < mySmart.getFiles().getCount(); i++) {
// 取出一个文件
com.jspsmart.upload.File myFile = mySmart.getFiles().getFile(i);
// 只有myFile代表的文件存在时才执行存储操作
if (!myFile.isMissing()) {
// 保存该文件到web应用程序下的files目录
       myFile.saveAs("/files/" + myFile.getFileName());
}
}

解决方案 »

  1.   

    你的这些业务代码是在哪里运行的呢?jsp?servlet?如果是在servlet里面注意pageContext  还有前台form提交的方式看看这个 http://download.csdn.net/down/890318/skyhotdog
    承揽:网站开发,SEO优化,毕业设计,OA,ERP,空间,域名,企业级管理系统  业务范围:[.net] [java]
      

  2.   

    忘记交代一点,我是在ssh框架做的,代码已经在上面,就是上面的代码,我只是想知道为什么在页面进行文件的保存就没有问题,而我在struts中的调用这个类的方法的时候就不行。方法的代码就是上面的
      

  3.   

    那你应该是在XXAction中写的代码吧,pageContext没有获取啊,
    在Jsp页面中pageContext是内置对象,可以直接用
      

  4.   

    你们说的我都知道,pageContext获取到了的!貌似没人能解决
      

  5.   

    貌似我自己都没解决那个问题  struts自己截取  我找了n久都没发现怎么解决
      

  6.   

    只能写在jsp页面中。如果写在Action或者Action后面的层中,就会有问题。
    因为上传的二进制流已经被Struts提前截掉了。
    看下面的代码就知道了。。RequestProcessor:
    public void process(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
            // Wrap multipart requests with a special wrapper
            request = processMultipart(request);        // Identify the path component we will use to select a mapping
            String path = processPath(request, response);        if (path == null) {
                return;
            }
    .......
        protected HttpServletRequest processMultipart(HttpServletRequest request) {
            if (!"POST".equalsIgnoreCase(request.getMethod())) {
                return (request);
            }        String contentType = request.getContentType();        if ((contentType != null)
                && contentType.startsWith("multipart/form-data")) { //如果是POST,而且上传文件
                return (new MultipartRequestWrapper(request)); //request进行包装后返回,Action里面拿到的都是包装后的request了,而不是原始的。
            } else {
                return (request);
            }
        }在process方法的第一行就调用了:
    request = processMultipart(request);
    对request进行了处理。。
    所以你的jspsmartupload拿到的是包装后的request...