此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【hunter19820907】截止到2008-07-10 19:50:40的历史汇总数据(不包括此帖):
发帖的总数量:15                       发帖的总分数:710                      每贴平均分数:47                       
回帖的总数量:24                       得分贴总数量:7                        回帖的得分率:29%                      
结贴的总数量:15                       结贴的总分数:710                      
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:100.00%               结分的百分比:100.00%                  
无满意结贴率:0.00  %               无满意结分率:0.00  %                  
敬礼!

解决方案 »

  1.   

    帮忙解决问题着,重分相谢。
    急的快发疯了,csdn的兄弟们帮帮忙啊
      

  2.   

    看一下API自己能搞定吧,注意一点就OK了:
         获取文件名时,不能直接用一个getString()来搞定,这样在有的浏览器中还能有路径!!!
      

  3.   

    看你的HTML了,可是什么也显示不出来呀....
    你用STRUTS自代的FILE类不就行了吗!
      

  4.   

    看了API了,没找到获得数组与获得上传文件个数的方法,
    有哪位做过类似的,帮帮忙啊
      

  5.   

    //可以显示出来只要改成
    <%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*" errorPage=""  %>
      

  6.   

    刚开始的做上传的时候,用的是jspsmart
    在自己电脑上正常,放linux下,获取文件名与input的值出现乱码。
    查了许多资料都没解决,只好换jar了,
    现在遇到了上面说的问题,急的要死啊。
      

  7.   

    upload.jsp是这样子的>>><html:form action="/upload" enctype="multipart/form-data">
         <html:text property="title"/><br>
         
         <input type="file" name="testFile(0)"/><br>
         <input type="file" name="testFile(1)"/><br>
         
         <html:submit value="upload"/>
    </html:form>
    UploadForm.java要这样写>>>
    private String title;private ArrayList formFiles = new ArrayList();
    public String getTitle() {
      return title;
    }
    public void setTitle(String title) {  this.title = title;
    }
    public void setTestFile(String iIndex, FormFile formFile)
    {
      this.formFiles.add(formFile);
    }public FormFile getTestFile(String iIndex)
    {
      return (FormFile) formFiles.get(Integer.parseInt(iIndex));
    }public ArrayList getTestFiles()
    {
      return this.formFiles;
    }
    UploadAction.java里通过下面的方法得到上传的文件:UploadForm uploadForm = (UploadForm) form;通过uploadForm .getTestFiles()会得到一个包含了所有上传文件,当然类型是Struts自带的FormFile类型的动态添加上传的你已经做好了,改改试下吧
      

  8.   

    <%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="org.apache.commons.fileupload.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.util.regex.*" %>
    <%@ page import="java.io.*" %>
    <html>
    <head>
    <title>Untitled Document</title>
    </head>
    <body>
    <%
    try {
        DiskFileUpload fu = new DiskFileUpload();
     fu.setHeaderEncoding("UTF-8"); // 设置允许用户上传档大小,单位:字节,这里设为2m
     fu.setSizeMax(2*1024*1024);
     // 设置最多只允许在存贮器中存储的资料,单位:字节
     fu.setSizeThreshold(4096);
     // 设置一旦档大小超过getSizeThreshold()的值时资料存放在硬盘的目录
     fu.setRepositoryPath("c:\\Windows\\temp");
     //开始读取上传信息
     List fileItems = fu.parseRequest(request);
     // 依次处理每个上传的档
       Iterator iter = fileItems.iterator();//正则匹配,过滤路径取档案名
       String regExp=".+\\\\(.+)$";//过滤掉的文件类型
    String[] errorType={".exe",".com",".CGI",".ASP"};
       Pattern p = Pattern.compile(regExp);
          while (iter.hasNext()) {
           FileItem item = (FileItem)iter.next();
           //忽略其他不是档域的所有表单信息
           if (!item.isFormField()) {
               String name = item.getName();
        String we=item.getFieldName() ;
    out.print(we);
               long size = item.getSize();
               if((name==null||name.equals("")) && size==0)
                   continue;
            Matcher m = p.matcher(name);
           boolean result = m.find();
           if (result){
               for (int temp=0;temp<errorType.length;temp++){
     if (m.group(1).endsWith(errorType[temp])){
    throw new IOException(name+": wrong type");
     }
               }
               try{//保存上传的档到指定的目录//在下文中上传档至资料库时,将对这里改写
                 item.write(new File(application.getRealPath("") + "/System/ISO/files//"  + m.group(1))); out.print(name+"&nbsp;&nbsp;"+size+"<br>");
               }
               catch(Exception e){
                 out.println(e);
               }        }
           else
           {
             throw new IOException("fail to upload");
           }
          }else{
    String fieldvalue=item.getString();

    out.print(new String(fieldvalue.getBytes("ISO-8859-1"),"UTF-8")+"<br>"); }
       }
    }
     catch (IOException e){
       out.println(e);
     }
     catch (FileUploadException fe){
          out.println(fe);
     }catch (Exception ex){
       out.println(ex);
     } %></body>
    </html>
    //这是我获得上传文件后的内容,
    请问在这个页面上该如何获得部门的值,并放同一个String里,
    在这段代码中,该如何修改才可以得到上传了的文件个数
      

  9.   

    //谢谢zhuyx808 
    在我上段代码中该如何修改
      

  10.   

    获得参数
    if(item.getFieldName().equals("title")){   
               title = new String(item.getString().getBytes("ISO-8859-1"),"UTF-8");   
    }