看看萧湘上传
内又改名
稍加改动就
ok!按时间命名精确到微妙,就没同名的了。
我就是用这个方法,
中文文件名上传也自动改名很方便。
还符合html的规则。
前台生成静态也可以正常运行。

解决方案 »

  1.   

    //out.println("<br>上传的文件的名字是"+filename);
                    lastuploadfile.put("uploadfilename", filename);                filename =  nowtime + String.valueOf(System.currentTimeMillis()) + "." + fileextname;
                    //out.println("<br>即将保存的文件名字是"+filename);
                     mySmartUpload.getFiles().getFile(i).saveAs(savepath+filename);
                    //mySmartUpload.getFiles().getFile(i).saveAs(filename, mySmartUpload.SAVE_VIRTUAL);
                    // out.println("<br>上传后的文件的名字是"+uploadpath +filename);
                    lastuploadfile.put("savedfilename", uploadpath +filename);
                   
                    filecount++;
                    msg = "11";
      

  2.   

    能否再详细点,我试了一下,还是不行
    filename如何定义呢?
    fileextname如何定义呢?
      

  3.   

    uploadfile.jsp
    -------------------------------------------<%@ page language = "java" contentType = "text/html; charset=gb2312" errorPage = "errorpage.jsp"
             pageEncoding = "GB2312"%>
    <%@ page import = "com.jspsmart.upload.*,java.util.Calendar"%><%
    response.setHeader("Pragma", "No-cache");        //HTTP 1.1response.setHeader("Cache-Control", "no-cache"); //HTTP 1.0
    response.setHeader("Expires", "0");              //防止被proxy
    request.setCharacterEncoding("GB2312");          //设置编码
    %><jsp:useBean id = "mySmartUpload" scope = "page" class = "com.jspsmart.upload.SmartUpload"/><jsp:useBean id = "uploadfilelist" scope = "session" class = "java.util.ArrayList"/><jsp:useBean id = "lastuploadfile" scope = "session" class = "java.util.Hashtable"/><%int year, month, day;
    Calendar nowDate = Calendar.getInstance();
    StringBuffer strDate = new StringBuffer();
    year = nowDate.get(Calendar.YEAR);
    //nowDate.setTimeZone();
    month = nowDate.get(Calendar.MONTH) + 1;
    day = nowDate.get(Calendar.DAY_OF_MONTH);strDate.append(year);if (month > 9)
        strDate.append(month);else
        strDate.append("0" + month);if (day > 9)
        strDate.append(day);else
        strDate.append("0" + day);String savepath = "D:\\work\\root\\resources\\upload\\";
    String uploadpath = "/resources/upload/";
    String nowtime = strDate.toString();
    //out.println("现在的日期是"+nowtime);
    String filename = "";
    String fileextname = "";
    String msg = null;
    int filecount = 0;
    mySmartUpload.initialize(pageContext);
    mySmartUpload.upload();try
        {
        for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
            {
            filename = mySmartUpload.getFiles().getFile(i).getFileName();        fileextname = mySmartUpload.getFiles().getFile(i).getFileExt();        if (filename == null || "".equals(filename))
                {
                continue;
                }        else
                {
                if (fileextname.equals("jsp"))
                    {//禁止上传jsp文件.
                    msg = "13";                break;
                    //response.sendRedirect("index.jsp?opid=66&msg=13");
                    }            else
                    {
                    //out.println("<br>上传的文件的名字是"+filename);
                    lastuploadfile.put("uploadfilename", filename);                filename =  nowtime + String.valueOf(System.currentTimeMillis()) + "." + fileextname;
                    //out.println("<br>即将保存的文件名字是"+filename);
                     mySmartUpload.getFiles().getFile(i).saveAs(savepath+filename);
                    //mySmartUpload.getFiles().getFile(i).saveAs(filename, mySmartUpload.SAVE_VIRTUAL);
                    // out.println("<br>上传后的文件的名字是"+uploadpath +filename);
                    lastuploadfile.put("savedfilename", uploadpath +filename);
                    java.util.Hashtable uploadfileinfo = new java.util.Hashtable(lastuploadfile);
                    uploadfilelist.add(uploadfileinfo);
                    filecount++;
                    msg = "11";
                    }
                }
            }
        //  count = mySmartUpload.save("/upload", mySmartUpload.SAVE_VIRTUAL);    }
    catch (Exception e)
        {
        msg = "12";
        // out.println("<b>Wrong selection : </b>" + e.toString());    }// Display the number of files uploaded
    //   out.println(filecount + " file(s) uploaded.");
    response.sendRedirect("index.jsp?opid=66&msg=" + msg);
    %>
      

  4.   

    太多了 不用读!
    原来的save 里面有个   getFilename()  去掉!
    save  是  保存称其他的名字 就可以了!注意后缀!